#SET TERMINATOR 语句的目的是什么
What is the purpose of the #SET TERMINATOR statement
专用于 SQL 存储过程。我是否应该将它包含在每个存储过程的开头,例如
--#SET TERMINATOR @
CREATE PROCEDURE Name
LANGUAGE SQL
BEGIN
SELECT * FROM Table
END
@
不是语句,是改变语句终止符的指令。
如果要 运行 包含包含其他“简单”的 compound statement(BEGIN ... END
),则必须使用不同于默认终止符 (;
) 的另一个语句终止符由 ;
分隔的语句。复合语句中的语句定界符无法更改,因此您必须帮助 DB2 命令行处理器理解整个“复杂”语句的结束位置。
顺便说一句,你的陈述有很多错误。 BEGIN ... END
块中的每个语句(包括最后一个)必须用 ;
分隔,并且您不能在例程中“SELECT 无处可去”。
专用于 SQL 存储过程。我是否应该将它包含在每个存储过程的开头,例如
--#SET TERMINATOR @
CREATE PROCEDURE Name
LANGUAGE SQL
BEGIN
SELECT * FROM Table
END
@
不是语句,是改变语句终止符的指令。
如果要 运行 包含包含其他“简单”的 compound statement(BEGIN ... END
),则必须使用不同于默认终止符 (;
) 的另一个语句终止符由 ;
分隔的语句。复合语句中的语句定界符无法更改,因此您必须帮助 DB2 命令行处理器理解整个“复杂”语句的结束位置。
顺便说一句,你的陈述有很多错误。 BEGIN ... END
块中的每个语句(包括最后一个)必须用 ;
分隔,并且您不能在例程中“SELECT 无处可去”。