对命令行处理器 (DB2® CLP) 选择缺省终止符以外的备用终止符,以在下一步中要预编译的脚本中使用,缺省终止符为分号(“;”)。
CLP 必须能够区分出现在例程体的 CREATE 语句内的 SQL 语句结尾和 CREATE PROCEDURE 语句本身的结尾。分号字符必须用于在 SQL 例程体中终止 SQL 语句,所选备用终止符应该用于终止 CREATE 语句及可能包含在 CLP 脚本中的任何其他 SQL 语句。
例如,在以下 CREATE PROCEDURE 语句中,“at;”符号(“@”)用作 DB2 CLP 脚本myCLPscript.db2的终止符:CREATEPROCEDUREUPDATE_SALARY_IF
(INemployee_numberCHAR(6),INratingSMALLINT)
LANGUAGESQL
BEGIN
DECLAREnot_foundCONDITIONFORSQLSTATE'02000';
DECLAREEXITHANDLERFORnot_found
SIGNALSQLSTATE'20000'SETMESSAGE_TEXT='Employeenotfound';
IF(rating=1)
THENUPDATEemployee
SETsalary=salary*1.10,bonus=1000
WHEREempno=employee_number;
ELSEIF(rating=2)
THENUPDATEemployee
SETsalary=salary*1.05,bonus=500
WHEREempno=employee_number;
ELSEUPDATEemployee
SETsalary=salary*1.03,bonus=0
WHEREempno=employee_number;
ENDIF;
END
@