-
这种变量的引用方法适用于正规的SQL语句和元命令。
gsql预定义了一些特殊变量,同时也规划了变量的取值。为了保证和后续版本最大限度地兼容,请避免以其他目的使用这些变量。所有特殊变量见表2。
说明:
- 所有特殊变量都由大写字母、数字和下划线组成。
- 要查看特殊变量的默认值,请使用元命令 \echo :varname(例如\echo :DBNAME)。
-
像元命令的参数一样,gsql变量的一个关键特性是可以把gsql变量替换成正规的SQL语句。此外,gsql还提供为变量更换新的别名或其他标识符等功能。使用SQL代换方式替换一个变量的值可在变量前加冒号。例如:
openGauss=# \set foo 'HR.areaS' openGauss=# select * from :foo; area_id | area_name ---------+------------------------ 4 | Middle East and Africa 3 | Asia 1 | Europe 2 | Americas (4 rows)
执行以上命令,将会查询HR.areaS表。
须知: 变量的值是逐字复制的,甚至可以包含不对称的引号或反斜杠命令。所以必须保证输入的内容有意义。