Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
创建 SQL 变量。
CREATE [ OR REPLACE ] VARIABLE identifier data-type [ { = | DEFAULT } initial-value ]
initial-value : special-value | string | [ - ] number | ( constant-expression ) | built-in-function ( constant-expression ) | NULL
special-value : CURRENT { DATABASE | DATE | PUBLISHER | TIME | TIMESTAMP | USER | UTC TIMESTAMP } | USER
OR REPLACE 子句 指定 OR REPLACE 子句删除指定变量(如果已存在)并替换变量定义。可以将 OR REPLACE 子句用作 SQL 脚本中 VAREXISTS 函数的替代方法。
DEFAULT 子句 如果指定 initial-value,则数据类型必须匹配 data-type 定义的类型。
CREATE VARIABLE 语句用于创建指定数据类型的新变量。如果指定 initial-value,则变量被设置为该值。如果不指定 initial-value,则变量包含 NULL 值,直到 SET 语句指派其它值。
在 SQL 表达式中,只要是允许使用列名的地方,就可以使用变量。名称解析按如下方式执行:
与查询的 SELECT 列表中指定的任何别名进行匹配。
与任何被引用表的列名进行匹配。
假定名称为变量。
变量与当前连接关联,在与数据库断开连接或使用 DROP VARIABLE 语句之前,变量始终存在。变量对其它连接不可见。变量不受 COMMIT 或 ROLLBACK 语句的影响。
在从嵌入式 SQL 程序为 INSERT 或 UPDATE 语句创建较大文本或二进制对象时,变量十分有用。
过程和触发器中的局部变量在复合语句中声明。
无。
SQL/2008 服务商扩充。
此示例将创建一个名为 first_name 的变量,数据类型为 VARCHAR(50)。
CREATE VARIABLE first_name VARCHAR(50);
此示例将创建一个名为 'birthday' 的变量,数据类型为 DATE。
CREATE VARIABLE birthday DATE;
此示例创建一个名为 v1 的变量,数据类型为 INT,初始设置为 5。
CREATE VARIABLE v1 INT = 5;
不管 v1 变量是否已存在,此示例将创建一个名为 v1 的变量,并将变量值设置为 10。
CREATE OR REPLACE VARIABLE v1 INT = 10;