当前位置:首页 » 编程语言 » sql判断约束存在

sql判断约束存在

发布时间: 2022-11-20 03:19:26

sql server 判断 这么判断某列是否存在 缺省约束,这么判断某列的数据类型

查找表中列是否存在缺省约束:
select * from sysobjects where name='DF_表名_列名'
删除约束
alter table 表名 drop constraint 约束名
查询表中某列类型:
select type_name(xtype) from syscolumns where id=object_id('表名') and name='列名'

㈡ 能在C#中if判断Sql表是否有主键约束呢删除时它老是报主键有约束!

这个 删除时抱错的, 一般是 外键错误.

例如
班级表 有
1班
2班
3班

学生表有
张三(1班)
李四(2班)
王五(3班)

班级表和学生表上面, 有个默认的外键.

现在你尝试删除 1班.
那么数据库报错, 原因在于
如果简单把 班级表的 1班删除了, 那么原来在 1班的张三怎么办?

处理办法有2种. ( 1种 自动, 1种手动)

1种自动的
是修改外键约束, 为 DELETE CASCADE 方式 或者 SET NULL方式
这种情况下, 你 C# 程序中, 不需要修改任何代码。

DELETE CASCADE 方式 , 就是如果你 删除 1班了, 那么数据库自动把 张三也删除了。
SET NULL方式, 就是如果你 删除 1班了, 那么数据库自动把 张三 的 “所属班级”设置为 NULL.

1种手动
是 C# 代码里面, 在删除班级以前, 先去看看 这个班级下面有没有学生, 如果有, 那么 提示一个消息框给用户 “一班下面已经存在有学生,确认要把班级与学生数据一同删除么?”
如果用户按了 确认, 那么 C# 先删除学生, 后删除班级。

㈢ SQL中用语句查看表列的约束以及解除约束

SELECT
USER_CONS_COLUMNS.CONSTRAINT_NAMEAS约束名,
USER_CONS_COLUMNS.TABLE_NAMEAS表名,
USER_CONS_COLUMNS.COLUMN_NAMEAS列名,
USER_CONS_COLUMNS.POSITIONAS位置,
CONSTRAINT_TYPE,
SEARCH_CONDITION
FROM
USER_CONSTRAINTS
JOINUSER_CONS_COLUMNS
ON(USER_CONSTRAINTS.CONSTRAINT_NAME
=USER_CONS_COLUMNS.CONSTRAINT_NAME)
WHERE
CONSTRAINT_TYPEIN('C','V','O');

其实主要就是看

USER_CONSTRAINTS与 USER_CONS_COLUMNS 这2个视图.

数据库管理员的话

可以看

DBA_CONSTRAINTS与 DBA_CONS_COLUMNS 这2个视图.

㈣ sql语句 判断表是否存在

IF EXISTS(SELECT name FROM [sysobjects] WHERE name = '表名')

PRINT '该表存在'

ELSE

PRINT '该表不存在'。

㈤ sql server怎么查询某一表的某一字段是否有约束

示例:
CREATE TABLE AA (
BB INT UNIQUE
);
SELECT

tab.name AS [表名],
idx.name AS [约束名称],
col.name AS [约束列名]
FROM
sys.indexes idx
JOIN sys.index_columns idxCol
ON (idx.object_id = idxCol.object_id
AND idx.index_id = idxCol.index_id
AND idx.is_unique_constraint = 1)
JOIN sys.tables tab
ON (idx.object_id = tab.object_id)
JOIN sys.columns col
ON (idx.object_id = col.object_id
AND idxCol.column_id = col.column_id)
WHERE
tab.name = 'AA'
结果:
表名 约束名称 约束列名
AA UQ__AA__3214B5C34460231C BB

㈥ 什么是SQL里面的约束条件

SQL 约束(Constraints)

  • SQL 约束用于规定表中的数据规则。

  • 如果存在违反约束的数据行为,行为会被约束终止。

  • 约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

本回答来自:SQL 约束(Constraints)_树懒学堂

SQL CREATE TABLE + CONSTRAINT 语法

㈦ sql server如何查询一个表中的一个列是否存在唯一约束 比如查询 AA表的 BB列

CREATE TABLE AA (
BB INT UNIQUE
);

SELECT
tab.name AS [表名],
idx.name AS [约束名称],
col.name AS [约束列名]
FROM
sys.indexes idx
JOIN sys.index_columns idxCol
ON (idx.object_id = idxCol.object_id
AND idx.index_id = idxCol.index_id
AND idx.is_unique_constraint = 1)
JOIN sys.tables tab
ON (idx.object_id = tab.object_id)
JOIN sys.columns col
ON (idx.object_id = col.object_id
AND idxCol.column_id = col.column_id)
WHERE
tab.name = 'AA'

表名 约束名称 约束列名
AA UQ__AA__3214B5C34460231C BB

㈧ SQL怎么设置带判断的唯一性约束

将AB都设置为主键:
单一个主键的内容和其他行重复是不会提示的,只有两个主键的内容都重复才会有主键重复提示
例如列a,b
已有
a,b
1,2
2,3
现在键入
a,b
1,3
是不会提示重复的
如果键入
a,b
1,2
此时才会提示重复,这样就达到目的了

㈨ 如何查看SQL表中都存在哪些约束

alt+F1就可以查看该表的表结构以及各种约束

㈩ 如何判断一个表是否建立索引约束等信息的SQL语句

--获取某表的所有索引,包括索引归属列名
sp_statistics 'Table'
--获取索引与索引归属列以及描述信息
sp_helpindex 'Table'
--获取某表的约束信息以及归属列
sp_helpconstraint 'Table'
--获取某表中的自动增长列的列名
select name from syscolumns
where id=object_id('Table') and status & 128 = 128
--获取某表中的自动增长列的列名
select name from syscolumns
where id=object_id('Table') and
COLUMNPROPERTY(id,name,'IsIdentity')=1

热点内容
php解压程序 发布:2025-01-15 17:06:22 浏览:140
刷助力脚本 发布:2025-01-15 17:02:31 浏览:519
c盘里的用户文件夹可以删除 发布:2025-01-15 16:56:45 浏览:949
虚幻4编译到哪里 发布:2025-01-15 16:50:19 浏览:754
透明度渐变android 发布:2025-01-15 16:45:08 浏览:834
dos连接oracle数据库 发布:2025-01-15 16:41:39 浏览:904
网络配置比较低怎么做 发布:2025-01-15 16:35:38 浏览:361
android弹出键盘监听 发布:2025-01-15 16:35:11 浏览:207
uz画图编程 发布:2025-01-15 16:32:44 浏览:883
ppt怎么解压 发布:2025-01-15 16:14:58 浏览:849