postgresql - 如何在 postgresql 中禁用检查约束
问题描述
我有下表,其中包含薪金列的检查约束。我想暂时禁用检查约束。如何禁用和启用检查约束?
CREATE TABLE "Employee_Salary_Details"(
empno int,
ename varchar(100),
sal numeric CONSTRAINT CK_SAL CHECK(sal>3500)
)
INSERT INTO "Employee_Salary_Details" VALUES(101,'RAM',200);
ALTER TABLE "Employee_Salary_Details" DISABLE CONSTRAINT CK_SAL
我试过了,但它显示一条错误消息。是否可以禁用和启用 heck 约束?
解决方案
是否可以禁用和启用检查约束?
不,那是不可能的。您需要删除并重新创建它。
利用:
ALTER TABLE Employee_Salary_Details DROP CONSTRAINT CK_SAL;
做你的事,然后把它加回来:
ALTER TABLE Employee_Salary_Details ADD CONSTRAINT CK_SAL CHECK (sal > 3500);
推荐阅读
- android - 更改端口 RTP AUDIO / VIDEO PJSIP
- c# - 为什么我不能在 xamarin 表单中更改我的视频大小 ios libvlcsharp
- python - 当我在 python 中保存 docx 文件时,数据被损坏
- python - 使用 python scrapy 抓取不在视图页面源中的数据
- javascript - AngularFirestore 缺少权限或权限不足
- sql - 如何将属性值动态传递给 liquibase 更改日志中的 sql 标记
- filter - 仅在边缘应用高斯滤波器
- powershell - sqlpackage.exe 将输出写入文件
- delphi - 无法访问服务应用程序中的 COM 对象
- c# - 如何将以下 C++ 代码转换为 C#