Sql Server中判斷表、列不存在則創建的方法[轉]
阿新 • • 發佈:2018-05-06
where art number primary net index mman www tro
一、Sql Server中如何判斷表中某列是否存在
首先跟大家分享Sql Server中判斷表中某列是否存在的兩個方法,方法示例如下:
比如說要判斷表A中的字段C是否存在兩個方法:
第一種方法
?1 2 3 4 5 6 7 8 |
IF EXISTS (
SELECT 1 FROM SYSOBJECTS T1
INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID
WHERE T1. NAME = ‘A‘ AND T2. NAME = ‘C‘
)
PRINT ‘存在‘
ELSE
PRINT ‘不存在‘
|
第二種方法,短小精悍,可謂精典
?1 2 3 4 |
IF COL_LENGTH( ‘A‘ , ‘C‘ ) IS NOT NULL
PRINT N ‘存在‘
ELSE
PRINT N ‘不存在‘
|
方法一:
?1 |
select * from syscolumns where id=object_id( ‘表名‘ ) and name = ‘列名‘
|
說明:存在則返回此列的一條說明記錄,不存在返回空;
方法二:
?1 |
select count (*) from sysobjects a,syscolumns b where a.id=b.id and b. name = ‘flag1‘ and a.type= ‘u‘ and a. name = ‘T_Pro_ProductClass‘
|
說明:存在返回1,不存在則返回0
二、Sql Server中判斷表、列是否存在,如果不存在則創建
一、表不存在則創建:
?1 2 3 4 5 6 7 8 9 10 |
if not exists ( select * from sysobjects where id = object_id( ‘mytab‘ )
and OBJECTPROPERTY(id, ‘IsUserTable‘ ) = 1)
create table mytab
(
id int ,
age int ,
name varchar ( max ),
primary key (id,age)
)
go
|
二、列不存在則創建。
?1 |
if not exists ( select * from syscolumns where id=object_id( ‘mytab‘ ) and name = ‘columnname‘ ) alter table [mytab] add columnname nvarchar( max )
|
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果疑問大家可以留言交流,謝謝大家對腳本之家的支持。
來源:http://www.jb51.net/article/107305.htm
Sql Server中判斷表、列不存在則創建的方法[轉]