簡體   English   中英

SAP HANA過程中帶有參數的動態更新查詢

[英]Dynamic update query with parameters in SAP HANA procedures

我有一個SAP HANA程序來更新表。 我正在嘗試創建動態sql查詢,這是我的示例:

declare _field varchar(100) := 'NAME';
declare _name varchar(100) := 'david';
declare _id integer := 1;
DECLARE SQL_STR VARCHAR(3000);

SQL_STR := 'UPDATE "_SYS_BIC"."TEST_TABLE" SET "'||_field||'" = '||_name||' WHERE "ID" = '||:_id;

EXECUTE IMMEDIATE (:SQL_STR);

但是在控制台中,我有此錯誤:

服務異常:[260]無效的列名

我該如何解決?

我找到了正確的語法來解決它

declare _id integer := 1; 
declare _name varchar(100) := 'david';
declare _field varchar(100) := 'NAME';
DECLARE SQL_STR VARCHAR(3000);

SQL_STR := 'UPDATE "_SYS_BIC"."TEST_TABLE" SET "'||_field||'" = '''||_name||''' WHERE "ID" = '||_id;
EXECUTE IMMEDIATE (:SQL_STR);

如果必須設置列名或表名,則正確的語法為"'||_field||'"

要設置字符串值,語法為'''||_name||''' ,前兩個撇號用於轉義,因此我們可以在查詢中說該值是字符串,最后一個撇號用於連接查詢字符串其余部分的值。 三個撇號之間必須沒有空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM