PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Database
[SQL ] INSERT INTO ... SELECT 的問題
作者:
Goldbach
(Ray)
2015-02-07 00:01:33
資料庫名稱:Microsoft SQL Server
資料庫版本:2000
內容/問題描述:
假設有一個觸發程式,使用INSERT語法如下:
INSERT INTO TABLE_A (COL_1, COL_2) SELECT * FROM deleted
小弟有個疑問,TABLE_A 有2個欄位寫上面這樣,
如果有20個欄位那需要寫非常長,
而且 TABLE_A 的欄位只要新增、刪除或修改,這個觸發程式就失效了,
所以小弟希望找到改寫語法,不要包含欄位名稱的資訊,
這樣比較有彈性,感謝~
作者:
rockchangnew
(rock)
2015-02-07 17:13:00
基本上建議指名欄位,用*較不建議
作者:
Goldbach
(Ray)
2015-02-07 17:57:00
有沒有辦法動態查所有欄位名稱,再放在INSERT後面?
作者:
Ammenze
(藍天白雲)
2015-02-09 10:11:00
先確保你Table_A跟select的Table欄位設定都一樣,再下Insert into Table_A Select * from....就可以了
作者:
moyasi
(Simple Life)
2015-02-09 15:02:00
就算有100欄位 也通通打出來吧 養成好習慣不建議用*
作者: iFEELing (ing)
2015-02-10 00:05:00
1. 對 沒錯 要寫非常長2. 只要修改就一定會讓相依的物件失效 因為無法確定修改後這些欄位是否真的還是你想要的東西指定欄位名稱的話 新增欄位就不會受影響但是 select * 就會死掉 因為數量不對修改的話 如果DBMS只對數量不對名字 型態又符合可能有機會寫得進去 (?用 select * 的寫法刪除欄位的話應該用*或欄位名稱都會死掉
繼續閱讀
[SQL ] SQL 的查詢問題
yj0803
[SQL ] 安裝 SQL Server 2014 Express 的問題
Goldbach
[SQL ] 關於用戶端使用Server上網頁的問題
jason81418
[SQL ] SQL2000 查詢用戶端ip
jason81418
[SQL ] -501的問題
clv
Re: [SQL ] MSSQL 用戶端工具遠端連線的問題
Goldbach
Re: [SQL ] MSSQL 用戶端工具遠端連線的問題
Goldbach
[SQL ] MSSQL 用戶端工具遠端連線的問題
Goldbach
[SQL ] error code 2006
brad0000
[SQL ] 請問MSSQL Server 2000可不可以在Windows 7上使用?
Goldbach
Links
booklink
Contact Us: admin [ a t ] ucptt.com