[英]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.