更新日期:2024年09月11日
SQL 代换
像元命令的参数一样,
gsql 变量的关键特性之一:
把gsql 变量替换成正规的SQL 语句。
此外,gsql 还提供为变量更换新的别名或其他标识符等功能。使用SQL 代换方式替换一个
变量的值可在变量前加冒号。例如:
gbase=# create table public.area (area_id int,area_name varchar(32));
CREATE TABLE
gbase=# insert into area values
(1,'Europe'),(2,'Americas'),(3,'Asia'),(4,'Middle East and Africa');
INSERT 0 4
gbase=# \set foo 'public.area'
gbase=# select * from :foo;
area_id |
area_name
---------+------------------------
1 | Europe
2 | Americas
4 | Middle East and Africa
3 | Asia
(4 rows)
执行以上命令,将会查询public.area 表。
变量的值是逐字复制的,
甚至可以包含不对称的引号或反斜杠命令。
所以必须保证输入
的内容有意义。