1 组合特性说明
|
Validate |
Novalidate |
||
已有记录 |
新增/删除记录 |
已有记录 |
新增/删除记录 |
|
Enable |
Yes |
Yes |
No |
Yes |
Disable |
Yes |
No |
No |
No |
Validate确保已有数据符合约束;
Novalidate不必考虑已有数据是否符合约束。
除非Novalidate被指定,Enable默认Validate;
除非Validate被指定,Disable默认Novalidate。
Enable Validate与Enable相同,检查已有记录和新增记录,确保都符合约束;
Enable Novalidate 允许已有记录不必满足约束条件,但新增/修改的记录必须满足;
Disable Validate禁用约束,删除约束上的索引,不允许修改任何被约束的记录;
Disable Novalidate与Disable相同,禁用约束,删除约束上的索引,且允许修改被约束的记录。
2 建表
SQL> create table test(id int, name varchar2(10));
Table created
SQL> alter table test add constraint ck_id check(id > 10);
Table altered
3 测试1: Enable Validate
SQL> alter table test Enable validate constraint ck_id;
Table altered
SQL> insert into test values(5, 'Oracle');
insert into test values(5, 'Oracle')
ORA-02290: 违反检查约束条件 (MYHR.CK_ID)
SQL> insert into test values(17,'ERP');
1 row inserted
SQL> commit;
Commit complete
4 测试2: Enable Novalidate
SQL> alter table test disable constraint ck_id;
Table altered
SQL> insert into test values(5, 'Oracle');
1 row inserted
SQL> commit;
Commit complete
SQL> select * from test;
ID NAME
----------- ----------
17 ERP
5 Oracle
SQL> alter table test enable novalidate constraint ck_id;
Table altered
SQL> insert into test values(32, 'SAP');
1 row inserted
SQL> insert into test values(3, 'Linux');
insert into test values(3, 'Linux')
ORA-02290: 违反检查约束条件 (MYHR.CK_ID)
SQL> commit;
Commit complete
5 测试3: Disable Validate
SQL> delete from test where id < 10;
1 row deleted
SQL> commit;
Commit complete
SQL> alter table test disable validate constraint ck_id;
Table altered
SQL> select * from test;
ID NAME
------------- ----------
17 ERP
32 SAP
SQL> update test set name = 'Change' where id = 17;
update test set name = 'Change' where id = 17
ORA-25128: 不能对带有禁用和验证约束条件 (MYHR.CK_ID) 的表进行插入/更新/删除
6 测试4: Disable Novalidate
SQL> alter table test disable novalidate constraint ck_id;
Table altered
SQL> insert into test values(2, 'Linux');
1 row inserted
SQL> insert into test values(13, 'Windows');
1 row inserted
SQL> update test set name = 'Change' where id = 17;
1 row updated
SQL> commit;
Commit complete
SQL> select * from test;
ID NAME
---------- ----------
17 Change
13 Windows
32 SAP
2 Linux
相关推荐
### Oracle关键字(保留字)详解 #### 概述 在Oracle数据库系统中,关键字或保留字是用来执行特定功能和操作的预定义标识符。这些关键字对于编写有效的SQL语句至关重要,因为它们帮助开发者构建出清晰、逻辑严谨的...
WPF实现图标按钮的enable 和disable功能,单击图标disable该功能,图标也跟着变化,再单击一次,图标和功能enable. .net framework 和.net core框架都能用,该Demo使用的是.net core的框架,修改引入的依赖项就可以...
- enable/disable SSH server (dropbear, enabled by default only for LAN). - enable/disable SWAP and set swap size - enable/disable transmission daemon (Bittorrent client). After each change you have ...
标题 "ulps_enable_disable.zip" 暗示了这是一个与启用或禁用ULPS相关的软件配置包。ULPS,全称Ultra Low Power State(超低功耗状态),是计算机硬件,特别是显卡中的一种节能技术。它允许设备在不活动时进入一种极...
SHELL Enable/disable the shell extension. OPEN Open a Virtual Floppy image. CLOSE Close a Virtual Floppy image. SAVE Save the current image into a file. PROTECT Enable/disable drive write protect...
6. added F2 key to enable / disable GPU monitoring (default: enabled);7. added F3 key to enable / disable the display of OpenGL errors (default: disabled);8. update: ZoomGPU 1.8.21 (GPU monitoring ...
这只是通常使用代理的便捷工具,但是在您不在站点时需要将其关闭。 这样,您不必每次都进入Internet选项。
微星AMIBIOS设置参考.pdf
此adb工具包中包含了adb disable-verity命令,这里免费提供给大家使用,具体可看本人的文章 ”/system/bin/sh: disable-verity: not found 的解决方案“ 【使用方式】 platform-tools解压后即可使用。在cmd中通过cd...
import disableDevtool from 'disable-devtool' ; disableDevtool ( ) ; 1.2脚本属性配置 < script disable-devtool-auto src =' https://cdn.jsdelivr.net/npm/disable-devtool/disable-devtool.min.js ' > ...
从ROS包构建Snappy应用 ros2snap是一个脚本,可以从ROS包中生成一个活泼的应用程序。 该脚本获取ROS包可能需要...# -c: Enable/disable copying of recursive dependencies # -s: Enable/disable building of snap # -h
可以通过快捷键快速对adb连接设备进行下列操作: ADB Uninstall App ADB Kill App ADB Start App ADB Restart App ...ADB Enable/Disable Wi-Fi ADB Enable/Disable Mobile Data 内附插件官方地址便于更新。
Corrected Peripheral Reset and Clock enable/disable (check if peripheral is available on selected device) Corrected CTS handling and added signal CTS change event. SPI: Corrected Peripheral Reset ...
width: false, // enable/disable width fitting height: false, // enable/disable height fitting widthMargin: 0, // width to discount (useful if your element has padding/margin) heightMargin: 0, // ...
Add setting to enable/disable automatic reconfiguring of projects. #1259 Partial/full CMT activation improperly persisted for multi-root projects. #1269 Fix MacOS debugging to work out of the box. #...
opencv 介绍/Introduction 跨Unix平台视频比对工具,基于OpenCV Crossplatform video comparision tool, based on OpenCV 安装教程/Installation 安装opencv / Install opencv brew ...x enable/disable automat
制作动画的类,很不错的 // construction CAniDialog(UINT nDlgID, CWnd* pParent...// temporarily enable/disable animation void EnableAni(BOOL bEnable = TRUE) // check object status BOOL IsAniValid() const
Clean Status Bar ...Use the ToggleReceiver to enable/disable Clean Status Bar programmatically, e.g. to automate taking screenshots. final Bundle extras = new Bundle(); extras.putBoolean("enabled
Daffodil Daffodil is an Annotation-triggered method call logging library. Usage Add daffodil closure in build.gradle daffodil { ...Enable/Disable daffodil in runtime DaffodilPrinter.set
As for now, you can communicate between different emulators using the RFComm protocol, you can start a discovery phase and enable/disable the bluetooth. What you need to do in order to use the ...