#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 statementBEGIN ... END),则必须使用不同于默认终止符 (;) 的另一个语句终止符由 ; 分隔的语句。复合语句中的语句定界符无法更改,因此您必须帮助 DB2 命令行处理器理解整个“复杂”语句的结束位置。

顺便说一句,你的陈述有很多错误。 BEGIN ... END 块中的每个语句(包括最后一个)必须用 ; 分隔,并且您不能在例程中“SELECT 无处可去”。