[英]How to set column values as column name in pl SQL but I don't know what what will be the column values?
我想從 aa 表中填充幾個 aa.one、aa.two、aa.three 列,當我將 aa.one = 'abc' 放在 where 條件中時,我想重命名這些列名,因為列值將填充。 但有一件事我不知道表中會出現什么值
唯一的出路是dynamic SQL
因為您必須動態地編寫整個語句並使用execute immediate
運行它。
注意維護難度大; 對於非常簡單的情況可能沒問題,但對於復雜的查詢......在實際做一些事情之前我會三思而后行。
像這樣的東西:
declare
l_str varchar2(200);
begin
l_str := 'update ' || par_table_name || ' set ' ||
par_column_1 || ' = ' || par_value_1 ||
' where ' || par_column_where_1 || ' = ' || par_column_where_value_1;
execute immediate l_str;
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.