精华内容
下载资源
问答
  • SQL约束、索引 判断是否存在

    万次阅读 2014-01-08 15:02:45
    还原数据库后附加原有用户 exec sp_change_users... 将用户名映射为指定登录名  例如: sp_change_users_login 'update_one', 'admin30', 'admin30' ...判断约束是否存在 IF EXISTS (SELECT * FROM sys.check_con

    还原数据库后附加原有用户

    exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
    将用户名映射为指定的登录名 
    例如:

    sp_change_users_login 'update_one', 'admin30', 'admin30'


    判断约束是否存在

    IF EXISTS (SELECT * FROM sys.check_constraints WHERE object_id = OBJECT_ID(N'约束名) AND parent_object_id = OBJECT_ID(N'表名'))
    ALTER TABLE 表名 ADD  CONSTRAINT 约束名  DEFAULT ((0)) FOR [State]
    GO


    判断索引是否存在,不存在则创建

    if not exists(select * from sysindexes where id=object_id('iSosDictionary') and name='IX_dictvalue') 

    CREATE UNIQUE NONCLUSTERED INDEX [IX_dictvalue] ON [iSosDictionary] 
    (
    [DictValue] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    GO
    展开全文
  • TFlowCreateTask--表名 AddDate--字段名 if not exists( select d.name from syscolumns a join sysobjects b on a.id=b.id join syscomments c on a.cdefault=c.id join sysobje...

    TFlowCreateTask--表名

    AddDate--字段名

    if not exists(
    select d.name
    from syscolumns a
    join sysobjects b on a.id=b.id
    join syscomments c on a.cdefault=c.id
    join sysobjects d on c.id=d.id
    where b.name='TFlowCreateTask'
    and (a.name='AddDate')
    )
    ALTER TABLE [dbo].[TFlowCreateTask] ADD CONSTRAINT [DF_TFlowCreateTask_AddDate] DEFAULT (getdate()) FOR [AddDate]
    GO

     

     

    if not exists(
    SELECT *
    FROM sys.default_constraints dc
    WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[DF_TFlowCreateTask_AddDate]')
    AND parent_object_id = OBJECT_ID(N'[dbo].[TFlowCreateTask]')
    )

    ALTER TABLE [dbo].[TFlowCreateTask] ADD CONSTRAINT [DF_TFlowCreateTask_AddDate] DEFAULT (getdate()) FOR [AddDate]
    GO

    转载于:https://www.cnblogs.com/tkaren/p/3769795.html

    展开全文
  • 首先认识一下 sysobjects系统表,可以查询出存在在这个...1,判断是否存在 --法1 IF EXISTS(SELECT * FROM sysobjects WHERE name = '@tableName') BEGIN PRINT '已存在' END ELSE BEGIN PRINT '不存在'

    首先认识一下

    sysobjects系统表,可以查询出存在在这个数据库里面的系统表信息和用户自己创建的表的信息

    syscolumns系统表,可以查询出存在在这个数据库里面的系统表字段数据信息和用户自己创建的表的字段信息

    相关链接:将系统表映射到系统视图

    1,判断表是否存在

    --法1
    IF EXISTS(SELECT * FROM sysobjects WHERE name = '@tableName')
    	BEGIN
    			PRINT '已存在'
    	END
    ELSE
    	BEGIN
    			PRINT '不存在'
    	END
    GO
    	
    --法2
    
    IF OBJECT_ID (N'@tableName', N'U') IS NOT NULL
      BEGIN
          PRINT '已存在'
      END
    ELSE
      BEGIN
          PRINT '不存在'
      END
    GO
    
    

    2,判断表字段是否存在

    --法1
    IF EXISTS (SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID  WHERE T1.NAME='表名' AND T2.NAME='字段名')
     BEGIN
    	   PRINT '已存在'
     END
    ELSE
      BEGIN
         PRINT '不存在'
      END
    GO
    
    --法2
    IF COL_LENGTH('表名', '字段名') IS NOT NULL
    	 BEGIN
    		 PRINT '已存在'
    	 END
    ELSE
    	BEGIN
    		 PRINT '不存在'
    	END
    GO
    
    

    3,判断表索引是否存在

    
    IF  EXISTS (SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('表名', N'U') and NAME='索引名')
    	 BEGIN
    		 PRINT '已存在'
    	 END
    ELSE
    	BEGIN
    		 PRINT '不存在'
    	END
    GO
    

    4,判断约束是否存在

    --这个只能以数据库的角度整体判断
    IF OBJECT_ID('约束名') IS NOT NULL 
    	 BEGIN
    		 PRINT '已存在'
    	 END
    ELSE
    	BEGIN
    		 PRINT '不存在'
    	END
    GO
    

    5,判断存储过程是否存在

    
    IF Exists(select name from sysobjects where NAME = '存储过程名' and type='P')
    	 BEGIN
    			 PRINT '已存在'
    	 END
    ELSE
    	BEGIN
    		 PRINT '不存在'
    	END
    GO
    
    展开全文
  • if exists (select * from sysobjects where [name]...判断对象是否存在.其中Xtype为对应类型. U为参数. Type是在6.0就有,XType在7.0才出现:Type对象类型。可以是下列值之一:C = CHECK 约束D = 默认值或 DEFA...

    if   exists (select * from sysobjects where [name] = '表名' and xtype='U')
     begin

      --code

     end

     

    判断对象是否存在.其中Xtype为对应的类型.

    U为参数.

    Type是在6.0就有的,XType在7.0才出现:

    Type
    对象类型。可以是下列值之一:
    C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    FN = 标量函数
    IF = 内嵌表函数
    K = PRIMARY KEY 或 UNIQUE 约束
    L = 日志
    P = 存储过程
    R = 规则
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    V = 视图
    X = 扩展存储过程

    XType
    对象类型。可以是下列对象类型中的一种:
    C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    L = 日志
    FN = 标量函数
    IF = 内嵌表函数
    P = 存储过程
    PK = PRIMARY KEY 约束(类型是 K)
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    UQ = UNIQUE 约束(类型是 K)
    V = 视图
    X = 扩展存储过程

    转载于:https://www.cnblogs.com/eastday/archive/2010/04/10/1708736.html

    展开全文
  • 1 系统表sys.sysobjects 在数据库中创建每个对象(例如约束、默认值、日志、规则以及存储过程)都...3 判断数据库、表、视图、存储过程、索引、列是否存在语句 SELECT * FROM sys.sysobjects GO /* xt...
  • 判断数据库是不是存在  if DB_ID(N'DATABASENAME') is not null 判断表,视图,存储过程,游标方法综合如下:  use databasename--跳转到指定数据库  go if object_id(N'a',N'U') is not null drop ...
  • 判断数据库是不是存在  if DB_ID(N'DATABASENAME') is not null 判断表,视图,存储过程,游标方法综合如下:  use databasename--跳转到指定数据库  go if object_id(N'a',N'U') is not null drop...
  • id('Tempdb..#orderby') is not nulldrop table #orderbyselect * into #orderby from T_Linesselect * from #orderbySQL Server创建临时表:创建临时表 方法一: create table #临时表名(字段1 约束条件,...
  • Oracle: DELETE前不需SELECT判断记录是否存在,INSERT前不需SELECT判断是否有若干字段值重复记录。先创建一个表T,后面都以T表为例。SQL> CREATE TABLE T(ID NUMBER, NAME VARCHAR2(10));1. DELETE语句在PROC...
  • [color=red]查询某前缀所有表;[/color] [code="java"...[size=medium][color=red]一、判断库中是否存在某【表/约束条件】,如果不存在则【创建/约束】存在则不处理;[/color][/size] ...
  • SQLServer之删除约束

    2018-09-10 16:30:00
    原文:SQLServer之删除约束使用SSMS数据库管理工具删除约束 1、连接数据库,选择数据表-》展开键或者约束-》选择要删除的约束-》右键点击-》选择删除。...--判断是否存在约束,如果存在则删除,如果不存在则不...
  • 在insert时候使用ON DUPLICATE KEY,这种方式能够成功前提条件时表有唯一约束,否则会直接插入数据,导致重复,如果是多个字段联合起来唯一,那么可以在数据库表新建一个字段,该字段设为唯一,该字段值为各个...
  • 主要介绍了sql server建库、建表、建约束技巧,首先在创建数据库之前先判断数据库是否已经存在,如何存在需先删除在创建,需要朋友可以参考下
  • 由于数据库已经限定了唯一约束,所以程序就不用判断是否存在该数据,直接插入会抛出duplicate key异常。常规方法在插入前会先select一次,判断是否应该插入新数据,本文是用一句sql解决这个问题,使用ON DUPLICATE ...
  • 一、T-sql创建数据库 ...--判断是否存在该数据库,存在则删除,否则创建 if exists(select * from sysdatabases where name='StuManager') begin select '该数据库已存在' drop database StuManager --...
  • 创建数据库之前可以先判断该数据库是否存在,如果存在就吧原来数据库删除, 判断语法: if exists(select * from sysDatabases where name='数据库名字')//因为数据库名字存在系统sysDatabases 表里面,查询该...
  • 在数据库操作中,几乎所有操作都可以采用...使用SQL语句创建数据库 exist语句用来判断将要建立数据库是否存在, 如果存在,DROP语句是如果存在,则先删除,然后新建. *********************************
  • 训练技能点: 学会使用sql语句创建数据库...if exists(select * from sysdatabases where name='BBS') --判断BBS库是否存在,若存在则先删除 drop database BBS create database BBS on primary ( name='BBS_data',
  • 八、索引 1、使用create index 语句创建索引 ...--判断是否存在idx_tno索引,若存在,则删除。 if exists(select name from sysindexes where name='idx_tno') drop index teacher.idx_tno go --创建i...
  • 1.建立约束: navicat中沒有可视化添加约束的选项,所以只能用代码添加。 直接新建查询,然后用代码添加 alter table `LoginTable` add CONSTRAINT ...--判断是否存在约束,如果存在则删除,如果不存在则不 if ex
  • SQL基础语句总结前言:SQL 是用于访问和处理数据库标准计算机语言。什么是 SQL?...#判断是否存在数据库test_...文章小喜_ww2018-03-15844浏览量SQL 修改主键约束原文:SQL 修改主键约束今天在学...
  • 1,判断数据表列是否存在 使用COL_LENGTH(表名,列名) IF COL_LENGTH('dbo.WEB_ResourceKind',N'IsAppMsgPush') IS NULL 2,新增标识列 Alter Table 表名 Add 列名 列类型 IDENTITY(1,1)【起始值,递增值】constraint...
  • Oracle数据库对象-约束

    2019-07-07 15:42:27
    但在使用没有约束语句的sql语句创建表是无法区分主外键和判断是否可空问题,所以在创建表的sql语句上加入约束语句来直接给表与表列进行非空性约束,唯一性约束,主键约束,外键约束判断约束,使得表更规范...

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

判断sql的约束是否存在