转换" IN" Oracle过程中的关键字到Netezza存储过程中的等效逻辑

时间:2016-08-01 15:10:07

标签: oracle oracle11g keyword netezza

以下" 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

1 个答案:

答案 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;