Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
在复合语句 (BEGIN ... END) 中声明 SQL 变量。
DECLARE variable-name [, ... ] 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
在过程、触发器或批处理主体中使用的变量可以使用 DECLARE 语句声明。该变量在声明它的复合语句的持续时间内会一直保留。如果指定 initial-value,则变量被设置为该值。如果不指定 initial-value,则变量包含 NULL 值,直到 SET 语句指派其它值。
Watcom SQL 过程或触发器的主体是复合语句,并且必须使用紧跟 BEGIN 关键字之后的其它声明(例如游标声明 (DECLARE CURSOR))来声明变量。在 Transact-SQL 过程或触发器中没有这种限制。
如果指定 initial-value,则数据类型必须匹配 data-type 定义的类型。
SQL/2008 持久存储模块特性。
下面的批处理语句说明了 DECLARE 语句的用法,并在数据库服务器消息窗口中输出一条消息:
BEGIN DECLARE varname CHAR(61); SET varname = 'Test name'; MESSAGE varname; END
此示例声明了以下变量:
BEGIN DECLARE v1 INT = 5; DECLARE v2, v3 CHAR(10) = 'abc'; // ... END