我有一個包含近27列(全部爲整數數據類型)的第一列爲ID(PK)的表。 我希望將所有值更新爲某個值,例如500. 是否有任何查詢要更新,而不鍵入像這樣的所有27列名稱。跨sql中的多列插入單個值
UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1
否則我可以做任何PL/SQL函數,將在明年下一列本身不提供列名獲取和設置的值?
我有一個包含近27列(全部爲整數數據類型)的第一列爲ID(PK)的表。 我希望將所有值更新爲某個值,例如500. 是否有任何查詢要更新,而不鍵入像這樣的所有27列名稱。跨sql中的多列插入單個值
UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1
否則我可以做任何PL/SQL函數,將在明年下一列本身不提供列名獲取和設置的值?
這是不可能在任何分區的。你需要提及列名。檢查在下面的線程
How to UPDATE all columns of a record without having to list every column
你不能這樣做。您必須在更新時指定列名稱。如果這是一個進程您將重新考慮您可以編寫存儲過程。
提到最常見的數據庫的更新規格AFAIK這是唯一的選擇,除非你想使用動態SQL。如果是這樣,那麼你可能能夠遍歷所有列,併爲每個列分配'500'。 –
但是,作爲一個側面說明,27列聽起來有點大。您可能需要重構數據庫。 –
by dynamic SQL,yu的意思是PL/SQL? – kishram