GBase 8c
运维管理
文章

GBase 8c gsql SQL代换功能

GBase社区管理员
发表于2024-02-04 17:03:3410次浏览0个评论

像元命令的参数一样,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表。

变量的值是逐字复制的,甚至可以包含不对称的引号或反斜杠命令。所以必须保证输入的内容有意义。

评论已关闭