以下" IN"关键字是否从下面的Oracle PL / SQL代码转换为Netezza SQL代码?
CREATE OR REPLACE PROCEDURE SP1 (typ IN VARCHAR, str IN VARCHAR) as
p1 varchar(50);
p2 number(9);
p3 char(1);
BEGIN
-- CODE GOES HERE
END SP1
答案 0 :(得分:0)
Netezza的参数列表仅为输入,并由位置引用。
您可以使用DECLARE块中的ALIAS将位置输入链接到有意义的名称。这些参数在程序范围内是恒定的。
p_命名只是一种样式约定,旨在提醒您它们是常量。变量通常以v _为前缀。
此处为您的代码快速映射到Netezza。
CREATE OR REPLACE PROCEDURE SP1 (VARCHAR(any), VARCHAR(any))
RETURNS INTEGER
LANGUAGE NZPLSQL AS
BEGIN_PROC
DECLARE
p_typ ALIAS FOR $1;
p_str ALIAS FOR $2;
v_1 varchar(50);
v_2 bigint; -- changed this to be a valid Netezza for the example
v_3 char(1);
BEGIN
-- CODE GOES HERE
END;
END_PROC;