国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

如何查看用戶表上的約束內(nèi)容?

2024-07-21 02:36:32
字體:
供稿:網(wǎng)友

  系統(tǒng)環(huán)境: 1、操作系統(tǒng):windows 2000 Server,機(jī)器內(nèi)存128M
  2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
  3、安裝路徑:C:/ORACLE
  
   實(shí)現(xiàn)方法:
   
  SQL> conn system/manager
  SQL> grant connect,resource to test1 identified by pass1;
  SQL> conn test1/pass1
  SQL> create table a(a number PRimary key);
  SQL> create table b(a number primary key,b number not null,c number check(c>0));
  
  SQL> desc USER_CONSTRAINTS
   名稱 空? 類型
   ----------------------------------------- -------- --------------
   OWNER NOT NULL VARCHAR2(30) --用戶名
   CONSTRAINT_NAME NOT NULL VARCHAR2(30) --約束名
   CONSTRAINT_TYPE VARCHAR2(1) --約束類型
   TABLE_NAME NOT NULL VARCHAR2(30) --表名
   SEARCH_CONDITION LONG --
   R_OWNER VARCHAR2(30) --
   R_CONSTRAINT_NAME VARCHAR2(30) --
   DELETE_RULE VARCHAR2(9) --
   STATUS VARCHAR2(8) --狀態(tài)
   DEFERRABLE VARCHAR2(14) --
   DEFERRED VARCHAR2(9) --
   VALIDATED VARCHAR2(13) --
   GENERATED VARCHAR2(14) --
   BAD VARCHAR2(3) --
   RELY VARCHAR2(4) --
   LAST_CHANGE DATE --最后更改時間
  
  SQL> desc USER_CONS_COLUMNS
   名稱 空? 類型
   ----------------------------------------- -------- ----------------
   OWNER NOT NULL VARCHAR2(30) --用戶名
   CONSTRAINT_NAME NOT NULL VARCHAR2(30) --約束名
   TABLE_NAME NOT NULL VARCHAR2(30) --約束類型
   COLUMN_NAME VARCHAR2(4000) --列名
   POSITION NUMBER --
  
  SQL> col 用戶名 format a10
  SQL> col 約束名稱 format a15
  SQL> col 約束類型 format a10
  SQL> col 表名 format a10
  SQL> col 列名 format a10
  SQL> col 約束內(nèi)容 format a20
  
  SQL> select a.OWNER 用戶名,
   a.CONSTRAINT_NAME 約束名稱,
   a.CONSTRAINT_TYPE 約束類型,
   a.TABLE_NAME 表名,
   b.COLUMN_NAME 列名,
   a.SEARCH_CONDITION 約束內(nèi)容
   from USER_CONSTRAINTS a,USER_CONS_COLUMNS b
   where a.CONSTRAINT_NAME=b.CONSTRAINT_NAME;

  
  用戶名 約束名稱 約束類型 表名 列名 約束內(nèi)容
  ---------- --------------- ---------- ---------- ---------- --------------------
  TEST1 SYS_C001239 P A A
  TEST1 SYS_C001240 C B B "B" IS NOT NULL
  TEST1 SYS_C001241 C B C c>0
  TEST1 SYS_C001242 P B A
  
  
  這樣,假如發(fā)出以下一樣的語句,會出現(xiàn)約束錯誤,可以根據(jù)顯示的約束號來查詢是違反了哪一列上的約束條件
  
  SQL> insert into b values(1,1,-1);
  insert into b values(1,1,-1)
  *
  ERROR 位于第 1 行:
  ORA-02290: 違反檢查約束條件 (TEST1.SYS_C001241)
  
  SQL> select a.OWNER 用戶名,
   a.CONSTRAINT_NAME 約束名稱,
   a.CONSTRAINT_TYPE 約束類型,
   a.TABLE_NAME 表名,
   b.COLUMN_NAME 列名,
   a.SEARCH_CONDITION 約束內(nèi)容
   from USER_CONSTRAINTS a,USER_CONS_COLUMNS b
   where a.CONSTRAINT_NAME='SYS_C001241' and a.CONSTRAINT_NAME=b.CONSTRAINT_NAME;
  
  用戶名 約束名稱 約束類型 表名 列名 約束內(nèi)容
  ---------- --------------- ---------- ---------- ---------- --------------------
  TEST1 SYS_C001241 C B C c>0

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 资阳市| 彝良县| 高雄县| 梧州市| 普陀区| 长顺县| 和平区| 正蓝旗| 瑞丽市| 泾源县| 柏乡县| 辽宁省| 会同县| 信丰县| 惠水县| 望都县| 扶风县| 秦安县| 麻栗坡县| 东乌珠穆沁旗| 库尔勒市| 镇康县| 卢氏县| 福建省| 海兴县| 石阡县| 西乌珠穆沁旗| 武鸣县| 利津县| 佛教| 黄骅市| 区。| 宁波市| 砀山县| 安新县| 上蔡县| 临朐县| 灵山县| 班玛县| 肇东市| 夹江县|