2017-08-04 46 views
0

我想創建存儲過程但未能創建。我的代碼:SAP HANA 2.0中的存儲過程插入參數

CREATE PROCEDURE "TESTING"."SCALAR_VARIABLE_EXAMPLE_INSERT" (IN paramin NVARCHAR(5000)) 
       LANGUAGE SQLSCRIPT 
       SQL SECURITY INVOKER 
       AS 
BEGIN 
/***************************** 
       Write your procedure logic 
*****************************/ 
       DECLARE username varchar(20) := 'bobbyss'; 
       DECLARE description varchar(100); 

       description := 'select JSON_VALUE('''||:paramin||''', ''$.description'') AS "desc" from DUMMY'; 

       INSERT INTO "TESTING"."USER" 
       VALUES (:username, :description); 

END; 

當我把這個過程,顯示SQL語法錯誤:附近的語法不正確「選擇」

如何解決這個問題?謝謝。

回答

1

你的語法是錯誤的,這裏是一個工作示例:

create table test_user (username nvarchar(20), description nvarchar(100)); 
CREATE PROCEDURE SCALAR_VARIABLE_EXAMPLE_INSERT (IN paramin NVARCHAR(5000)) 
       LANGUAGE SQLSCRIPT 
       SQL SECURITY INVOKER 
       AS 
BEGIN 
/***************************** 
       Write your procedure logic 
*****************************/ 
       DECLARE username varchar(20) := 'bobbyss'; 
       DECLARE description varchar(100); 

       select JSON_VALUE(:paramin, '$.description') into description from DUMMY; 

       INSERT INTO test_user 
       VALUES (:username, :description); 

END; 

call SCALAR_VARIABLE_EXAMPLE_INSERT('{"description":"Test Description..."}'); 
select * from test_user; 
+0

錯誤顯示:無法執行 '稱之爲 「測試」 .SCALAR_VARIABLE_EXAMPLE_INSERT()' SAP DBTech JDBC:[1281]:錯誤的號碼或調用中的參數類型:PARAMIN未綁定:第1行col 16(位於15) –

+0

如何修復此錯誤?謝謝 –