首页 > 数据库 >SQL 根据指定的列找出约束名

SQL 根据指定的列找出约束名

时间:2023-02-19 21:00:35浏览次数:30  
标签:Class 找出 name 指定 约束 SQL id select TStudent

为了避免录入错误的数据,我们往往会给“列”加上各种约束条件。

运行以下代码能够实现“反向”的功能:给出表名和列名,就能找出约束名。

以下例句是找出给列“Class”设置的“默认值约束”的约束名。

表名'dbo.TStudent'和列名'Class'作为参数填入语句。

declare @name nvarchar(80)
--显式连接
select @name= b.name from syscolumns a,sysobjects b where a.id=object_id('dbo.TStudent' ) and b.id=a.cdefault and a. name='Class' and b.name like 'DF%';
select @name
--隐式连接(不建议使用,仅作记录)
select b.name from syscolumns a join sysobjects b on a.id=object_id('dbo.TStudent') and b.id= a.cdefault and a. name='Class'and b .name like 'DF%';

这个功能有什么用处呢?

给列添加约束的前提条件是列之前没有添加过约束。否则需要先删除之前的约束,再添加新的约束。

于是又带来一个新问题:之前的约束名是什么?

当然可以手动在数据库管理器的图形界面里查看。但本文给出了用代码实现的思路,这就可以实现设置约束的自动化:在设置约束之前先判断是否已经存在约束,如果有就删除后重设约束,没有就直接设置约束。

代码如下,适用于SQL Server:







标签:Class,找出,name,指定,约束,SQL,id,select,TStudent
From: https://blog.51cto.com/u_9843231/6066831

相关文章

  • mysql 如何查看表的大小
    mysql查看表的大小方法:1.查看所有数据库容量大小selecttable_schemaas'数据库',sum(table_rows)as'记录数',sum(truncate(data_length/1024/1024,2))as'数据......
  • 常见SQL注入手法总结与技巧(一)
    前言SQL是StructuredQueryLanguage的缩写,中文译为“结构化查询语言”。SQL是一种计算机语言,用来存储、检索和修改关系型数据库中存储的数据。sql注入是最为常见也是破......
  • sqlit 自增id为null
    CREATETABLEproejct(idUNSIGNEDINTEGERAUTO_INCREMENT,nameVARCHAR(50)NOTNULL,typeCHAR(10)NOTNULL,PRIMARYKEY(id))以上是表的定义,不知道为......
  • mysql事务
    分为显示(有明显的开启和结束的标记)和隐示事务select@@autocommit:为0的时候为禁用setautocommit=0开启事务的方式starttransaction;————;......
  • centos7安装mysqlclient报错
    错误如图  解决办法#先安装mysql-devel,后安装mysqlclientyuminstallmysql-develpip3installmysqlclient ......
  • sqlite没法查出数据
    能够正常插入数据,再次运行插入数据的代码,报错主键重复,说明数据库数据是存在的。只是插入后再查出就没有数据,显示得是undefined。 检查一下语法,没问题啊,到底啥问题(图中......
  • SQLmap使用
    SQLmap使用只对sql注入进行测试参数详解Target:目标-usqlmap.py-u"http://43.136.41.84:8080/vulnerabilities/sqli/?id=1&Submit=Submit"-pid--cookie"PHPSE......
  • SQL简介
    SQL简介DB(Database)数据库,保存一组有组织的数据的容器;DBMS(DatabaseManagementSystem)数据库管理系统,又称为数据库软件,用于管理DB中的数据;SQL(StructuredQueryLanguage)......
  • 【MySQL-索引:分类,语法,性能分析,使用,设计原则】
    零、本文纲要一、索引概述二、索引分类三、索引语法四、SQL性能分析五、索引使用六、索引设计原则tips:Ctrl+F快速定位到所需内容阅读吧。一、索引概述索引(index)是帮助MySQ......
  • SQL216 统计各个部门的工资记录数
    题目描述有一个部门表departments,有一个,部门员工关系表dept_emp,有一个薪水表salaries,请你统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门......