各位用户为了找寻关于Sql Server中判断表、列不存在则创建的方法的资料费劲了很多周折。这里教程网为您整理了关于Sql Server中判断表、列不存在则创建的方法的相关资料,仅供查阅,以下为您介绍关于Sql Server中判断表、列不存在则创建的方法的详细内容
一、Sql Server中如何判断表中某列是否存在
首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下:
比如说要判断表A中的字段C是否存在两个方法:
第一种方法
? 1 2 3 4 5 6 7 8IF 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 4IF COL_LENGTH(
'A'
,
'C'
)
IS
NOT
NULL
PRINT N
'存在'
ELSE
PRINT N
'不存在'
方法一:
? 1select
*
from
syscolumns
where
id=object_id(
'表名'
)
and
name
=
'列名'
说明:存在则返回此列的一条说明记录,不存在返回空;
方法二:
? 1select
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 10if
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
二、列不存在则创建。
? 1if
not
exists (
select
*
from
syscolumns
where
id=object_id(
'mytab'
)
and
name
=
'columnname'
)
alter
table
[mytab]
add
columnname nvarchar(
max
)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果疑问大家可以留言交流,谢谢大家对的支持。