日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中check约束性别,关于Oracle Check类型约束的导入与启用

發布時間:2024/4/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中check约束性别,关于Oracle Check类型约束的导入与启用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天有朋友問,Oracle的Check約束在indexfile中是否存在,導入后沒有檢查到。

我測試了一下,事實證明是可以的,Oracle的Check Constraints可以通過imp,使用indexfile來獲得,并且可以通過手工執行腳本來加載。

以下是一個簡單的測試過程。創建測試表:

[oracle@oracle ~]$ sqlplus EYGLE/EYGLE

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jul 13 23:48:35 2010

Copyright (c) 1982, 2010, Oracle.? All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options

SQL> CREATE TABLE suppliers

2? (? supplier_id???? number(4),

3???? supplier_name?? varchar2(50),

4???? CONSTRAINT check_supplier_id

5???? CHECK (supplier_id BETWEEN 100 and 9999)

6? );

Table created.

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options導出數據,生成indexfile:

[oracle@oracle ~]$ cd /tmp

[oracle@oracle tmp]$ exp EYGLE/EYGLE file=c.dmp tables=suppliers

Export: Release 10.2.0.5.0 - Production on Tue Jul 13 23:49:31 2010

Copyright (c) 1982, 2007, Oracle.? All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options

Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path ...

. . exporting table????????????????????? SUPPLIERS????????? 0 rows exported

Export terminated successfully without warnings.

[oracle@oracle tmp]$ imp EYGLE/EYGLE file=c.dmp indexfile=a.txt full=y

Import: Release 10.2.0.5.0 - Production on Tue Jul 13 23:49:56 2010

Copyright (c) 1982, 2007, Oracle.? All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options

Export file created by EXPORT:V10.02.01 via conventional path

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set

. . skipping table "SUPPLIERS"

Import terminated successfully without warnings.indexfile中包含了完整的語句,去掉注釋執行后,可以正常創建所有的對象及約束:

[oracle@oracle tmp]$ more a.txt

REM? CREATE TABLE "EYGLE"."SUPPLIERS" ("SUPPLIER_ID" NUMBER(4, 0),

REM? "SUPPLIER_NAME" VARCHAR2(50)) PCTFREE 10 PCTUSED 40 INITRANS 1

REM? MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 FREELISTS 1 FREELIST

REM? GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "EYGLE" LOGGING NOCOMPRESS ;

REM? ... 0 rows

REM? ALTER TABLE "EYGLE"."SUPPLIERS" ADD CONSTRAINT "CHECK_SUPPLIER_ID"

REM? CHECK (supplier_id BETWEEN 100 and 9999) ENABLE NOVALIDATE ;

REM? ALTER TABLE "EYGLE"."SUPPLIERS" ENABLE CONSTRAINT

REM? "CHECK_SUPPLIER_ID" ;

[oracle@oracle tmp]$ sqlplus EYGLE/EYGLE

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jul 13 23:50:28 2010

Copyright (c) 1982, 2010, Oracle.? All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, Data Mining and Real Application Testing options

SQL> drop table suppliers purge;

Table dropped.

SQL>? CREATE TABLE "EYGLE"."SUPPLIERS" ("SUPPLIER_ID" NUMBER(4, 0),

2?? "SUPPLIER_NAME" VARCHAR2(50)) PCTFREE 10 PCTUSED 40 INITRANS 1

3?? MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 FREELISTS 1 FREELIST

4?? GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "EYGLE" LOGGING NOCOMPRESS ;

Table created.

SQL>? ALTER TABLE "EYGLE"."SUPPLIERS" ADD CONSTRAINT "CHECK_SUPPLIER_ID"

2?? CHECK (supplier_id BETWEEN 100 and 9999) ENABLE NOVALIDATE ;

Table altered.

SQL>? ALTER TABLE "EYGLE"."SUPPLIERS" ENABLE CONSTRAINT "CHECK_SUPPLIER_ID" ;

Table altered.

SQL> select table_name,constraint_name,constraint_type from user_constraints where table_name='SUPPLIERS';

TABLE_NAME???????????????????? CONSTRAINT_NAME??????????????? C

------------------------------ ------------------------------ -

SUPPLIERS????????????????????? CHECK_SUPPLIER_ID????????????? C

SQL> drop table SUPPLIERS purge;

Table dropped.記錄供參考。

-The End-

總結

以上是生活随笔為你收集整理的oracle中check约束性别,关于Oracle Check类型约束的导入与启用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。