這是一個簡單的問題,但我不能找出解決辦法...的MS Access:添加列,如果不存在(或嘗試/捕獲它)
我要檢查,如果列中存在,並添加它如果測試是否定的。我怎樣才能只使用sql代碼?
這是SQL Server的語法:
IF NOT EXISTS (
SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID(N'[dbo].[Person]')
AND name = 'ColumnName'
)
BEGIN
--STUFF HERE
END
和MS訪問,只用SQL代碼...什麼是正確的語法來做到這一點?
UPDATE:還有一種方法做一個嘗試導管聲明將是確定的,我只需要的,如果它不存在,不添加任何東西......所以,還嘗試捕捉是好的,我想。也嘗試趕上很容易在SQL服務器中使用...和訪問?
更新2:我已經這樣做了:
If Not Exists (Select Column_Name
From INFORMATION_SCHEMA.COLUMNS
Where Table_Name = 'TabTessereVeicoli'
And Column_Name = 'TAGA')
begin
ALTER TABLE TabTessereVeicoli ADD TAGA text(25) NULL;
end
,但我得到的錯誤 「SQL語句無效預計DELETE,INSERT,PROCEDURE,SELECT或UPDATE。」 爲什麼?如何在IF後執行更改表格?
爲什麼downote?誰是這種人?這是一個問題,只是一個問題...... – 2015-04-03 08:42:32
我不知道,這是一個普通的問題,儘管它不會花費太多的時間來發現Access SQL的ALTER選項非常有限。原因是,在Access中,使用VBA更容易執行這些操作。 – Gustav 2015-04-03 09:19:00
感謝您的支持 – 2015-04-03 09:42:35