0
我正在更新一些代碼,用於刪除與信用限額有關的某些術語的關係。要做到這一點,我得到更新數據庫!向表中添加一列並使用該表中的現有列數據填充
新架構將爲CreditLimitCode添加一列,該列將與沒有列鍵的舊列TermsCodeId相同。我需要暫時保留TermsCodeId,因此重命名是不可能的。
我試過這SO question的答案,但那給了我語法錯誤,因爲CreditLimitCode不存在,我不喜歡默認被添加。
IF COL_LENGTH('CreditApp.dbo.CreditLimit', 'CreditLimitCode') IS NULL
BEGIN
ALTER TABLE CreditApp.dbo.CreditLimit ADD CreditLimitCode VARCHAR(6) NOT NULL DEFAULT (0)
UPDATE CreditApp.dbo.CreditLimit SET CreditLimitCode = CreditTermsId WHERE CreditLimitCode = 0
PRINT 'Added CreditLimitCode to CreditLimt'
END
我不確定在這裏插入後的觸發器是正確的,因爲我正在改變表格不插入行。
你需要使用動態SQL這個 – Lamak
@Lamak你可以詳細一點。我的SQL技能屬於創建表和一些輕微更新。 – nerdlyist
這是用於mysql還是sql-server?他們是不同的產品,可能會有不同的答案。 –