zoukankan      html  css  js  c++  java
  • Sql Server中判断表、列不存在则创建的方法[转]

    一、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

  • 相关阅读:
    php多态
    ssl certificate problem: self signed certificate in certificate chain
    test plugin
    open specific port on ubuntu
    junit vs testng
    jersey rest service
    toast master
    use curl to test java webservice
    update folder access
    elk
  • 原文地址:https://www.cnblogs.com/railgunman/p/8997482.html
Copyright © 2011-2022 走看看