0
內我有一個表Receipt
與columnsn如何引用列在同一個表
| ORNUMBER | Description | Quantity | Date |
我想引用我的Quantity
和Date
列Description
。
比如我放棄了列Description
兩個Quantity
和Date
也將下降
什麼是腳本是什麼?謝謝!。
內我有一個表Receipt
與columnsn如何引用列在同一個表
| ORNUMBER | Description | Quantity | Date |
我想引用我的Quantity
和Date
列Description
。
比如我放棄了列Description
兩個Quantity
和Date
也將下降
什麼是腳本是什麼?謝謝!。
嗨,
下面是可以使用的程序,
BEGIN
ALTER TABLE Receipt DROP COLUMN Description;
END;
DECLARE
del_columns INTEGER;
BEGIN
SELECT COUNT(*)
INTO del_columns
FROM dba_tab_columns
WHERE OWNER = 'user_name'
AND table_name = 'Receipt'
AND column_name = 'Description'
IF(del_columns = 0)
THEN
EXECUTE IMMEDIATE 'ALTER TABLE Receipt DROP column Quantity, Date;
END IF;
END;
Explination
從系統表,表名和列名被聲明爲條件,並顯示
計數如果計數爲0,則說明列不可用,那麼其他的其他兩個列將被刪除。如果你得到1,則該列可以和其他兩列不會被刪除
我不完全確定你在問什麼。當你刪除另一個(並且永遠不會,因爲你可以很容易地手動完成),沒有命令會自動刪除(整個)列。丟掉一列意味着將它從桌面上全部刪除,你真的是這個意思嗎?你是否想要在修改行時刪除行(例如,設置爲「null」)?或者,當你將'Description'設置爲'null'時,你是否想設置值'Quantity'和'Date'也是'null'?也許你可以添加一些示例數據來描述你想要做的事情。 – Solarflare
我想你想要在null時自動清零數量和日期,是不是?我認爲[觸發](https://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0000931.html)是什麼可以幫助你你的任務 – siarheib