簡體   English   中英

如何在 pl SQL 中將列值設置為列名,但我不知道列值是什么?

[英]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.

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