2017-02-27 25 views
0

我有一個包含近27列(全部爲整數數據類型)的第一列爲ID(PK)的表。 我希望將所有值更新爲某個值,例如500. 是否有任何查詢要更新,而不鍵入像這樣的所有27列名稱。跨sql中的多列插入單個值

UPDATE tbl_name SET a=500,b=500,c=500.....z=500 where ID = 1 

否則我可以做任何PL/SQL函數,將在明年下一列本身不提供列名獲取和設置的值?

+0

提到最常見的數據庫的更新規格AFAIK這是唯一的選擇,除非你想使用動態SQL。如果是這樣,那麼你可能能夠遍歷所有列,併爲每個列分配'500'。 –

+0

但是,作爲一個側面說明,27列聽起來有點大。您可能需要重構數據庫。 –

+0

by dynamic SQL,yu的意思是PL/SQL? – kishram

回答

1

你不能這樣做。您必須在更新時指定列名稱。如果這是一個進程您將重新考慮您可以編寫存儲過程。