2015-01-13 28 views
1

有沒有將可選參數添加到Teradata存儲過程的方法?將可選參數添加到Teradata存儲過程

我知道在Oracle中,它是:

create or replace procedure myProcedure (param1 in varchar2 default null, param2 in number default null)

和SQLServer的是:

CREATE PROCEDURE MyProcName 
@Parameter1 INT = 1, 
@Parameter2 VARCHAR (100) = 'StringValue', 
@Parameter3 VARCHAR (100) = NULL 

是否有Teradata的相同呢?我在網上看了一下,什麼都沒發現。

回答

2

不,對於SP中的參數沒有DEFAULT,也沒有辦法在Teradata中的CALL語句中省略參數(對其不適用標準SQL)。

僅適用於宏有兩個,所以一個可能的解決方法可能在宏被包裹SP CALL:

REPLACE MACRO myMacro (param1 INT DEFAULT 1 
         ,param2 VARCHAR(100) DEFAULT '' 
         ,param3 VARCHAR(100) 
        ) AS 
(CALL MyProcName(:param1, :param2, :param3);); 

EXEC myMacro(param2 = 'bla'); 
相關問題