元命令

在 vsql 中输入的任何以不带引号的反斜杠开头的命令称为 vsql 元命令,这种命令由 vsql 本身进行处理。这些命令可使 vsql 更有助于进行管理或脚本编写。元命令的更常用叫法是斜杠命令或反斜杠命令。

vsql 命令的格式是反斜杠的后面依次紧跟命令动词和任何参数。参数和命令动词用任意数量的空格字符分隔,并且各个参数用任意数量的空格字符分隔。

若要在参数中包含空格,您可以用单引号将该参数括起来。若要在参数中包含单引号,请在该参数前面附加反斜杠。此外,包含在单引号中的任何内容需要进行类 C 替换,以替代 \n(换行符)、\t(制表符)、\\数字\0数字\0x数字(带有给定十进制、八进制或十六进制代码的字符)。

如果不带引号的参数以冒号 (:) 开头,则该参数会被视为 vsql 变量,并且变量的值会改为用作参数。

用反引号 (```) 括起来的实参会被视为一个命令行并传递到 shell。命令的输出(移除了任何尾随换行符)会被视为参数值。以上转义序列在反引号中也适用。

有些命令使用 SQL 标识符(例如表名称)作为参数。这些实参遵循 SQL 的语法规则:不带引号的字母会强制转换为小写,而双引号 (") 可防止对字母进行大小写转换并允许在标识符中包含空格。在双引号中,成对的双引号在生成的名称中会减少为单个双引号。例如,FOO"BAR"BAZ 会解释为 fooBARbaz,而 "A weird"" name" 将变为 A weird" name

当出现其他不带引号的反斜杠时,对参数进行的解析将停止。此不带引号的反斜杠会被视为新的元命令的开头。特殊序列 \\(两个反斜杠)标记参数的结尾,并继续解析 SQL 命令(如果有)。这样,您可以随意地在单个行中将 SQL 命令和 vsql 命令一起使用。但在任何情况下,元命令的参数都不能超过行的结尾。