[英]Check if table or column exists in SQL Server database table
在SQL Server數據庫中創建列或表之前,我想檢查所需的表和/或列是否存在。
我到處搜索並找到2種方法。
SqlCommand.ExecuteScalar()
方法並捕獲異常以確定表/列是否存在,這對我來說是一個變通方法,但不是一個完美的解決方案。 還有另一種方法檢查SQL Server中是否存在表/列嗎?
要在創建架構之前檢查其是否存在,請執行以下操作:
檢查是否存在一列; 您使用IF NOT EXISTS
,然后將實際查詢放入其中。
IF NOT EXISTS(SELECT * FROM sys.columns
WHERE [name] = N'columnName' AND [object_id] = OBJECT_ID(N'tableName'))
BEGIN
ALTER TABLE ADD COLUMN MYCOLUMN
END
對於表, 查詢有點類似 :
IF (NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'TheSchema'
AND TABLE_NAME = 'TheTable'))
BEGIN
CREATE TABLE MYTABLE
END
select *
from information_schema.columns
where column_name = @mycolumn
and table_name = @mytable
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.