在 UNIX™ 平台的 SPL 过程中,评估为有效 UNIX 操作系统命令的规范必须紧跟在 SYSTEM 关键字之后。
CREATE PROCEDURE sensitive_update() ... LET mailcall = 'mail headhoncho < alert'; -- code to execute if user tries to execute a specified -- command, then sends email to system administrator SYSTEM mailcall; ... END PROCEDURE; -- sensitive_update
CREATE PROCEDURE sensitive_update2() DEFINE user1 char(15); DEFINE user2 char(15); LET user1 = 'joe'; LET user2 = 'mary'; ... -- code to execute if user tries to execute a specified -- command, then sends email to system administrator SYSTEM 'mail -s violation' || user1 || ' ' || user2 || '< violation_file'; ... END PROCEDURE; --sensitive_update2
在以上两个示例中,空格分隔命令行的元素,因此 SYSTEM 关键字后面的表达式计算为符合操作系统 mail 实用程序的语法要求的字符串。