⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 primary_key.txt

📁 orale培训教材包括了所有的sql说明和实例
💻 TXT
字号:
-- 在建立表时用建立主键
CREATE TABLE plsql101_product2 (
     product_name     VARCHAR2(25) PRIMARY KEY,
     product_price    NUMBER(4,2),
     quantity_on_hand NUMBER(5,0),
     last_stock_date  DATE
     )
;

CREATE TABLE plsql101_product3 (
     product_name     VARCHAR2(25),
     product_price    NUMBER(4,2),
     quantity_on_hand NUMBER(5,0),
     last_stock_date  DATE,
     PRIMARY KEY (product_name)
     )
;



--建立良好的的主键--学生表
CREATE TABLE sm_student(
name  varchar2(10) PRIMARY KEY,
depart varchar2(10),
birthday DATE,
dome  varchar2(10));



--在建立表以后用ALTER TABLE  ADD PRIMARY KEY,加主键
ALTER TABLE plsql101_product
ADD PRIMARY KEY (product_name);

ALTER TABLE plsql101_person
ADD PRIMARY KEY (person_code);

ALTER TABLE plsql101_purchase
ADD PRIMARY KEY (product_name,
                 salesperson,
                 purchase_date
                 )
;



--主键也是constraint,命名主键定义
DROP TABLE plsql101_product4;
CREATE TABLE plsql101_product4 (
     product_name     VARCHAR2(25),
     product_price    NUMBER(4,2),
     quantity_on_hand NUMBER(5,0),
     last_stock_date  DATE,
     CONSTRAINT pk_product4 PRIMARY KEY (product_name)
     )
;

INSERT INTO plsql101_product4 VALUES('豆腐',10,12,NULL);
INSERT INTO plsql101_product4 VALUES(NULL,10,12,NULL);
--ORA-01400: 无法将 NULL 插入 ("SYSTEM"."PLSQL101_PRODUCT4"."PRODUCT_NAME")
--PK不可为 NULL 

--主键可以disable吗?
ALTER TABLE plsql101_product4 DISABLE CONSTRAINT pk_product4;
INSERT INTO plsql101_product4 VALUES(NULL,10,12,NULL);
select * from plsql101_product4;

--主键可以enable吗?
ALTER TABLE plsql101_product4 ENABLE CONSTRAINT pk_product4;
ORA-02437: cannot validate (SCOTT.PK_PRODUCT4) - primary key violated
--原因是pk中已含有null.删除含有null的纪录。
ALTER TABLE plsql101_product4 ENABLE CONSTRAINT pk_product4;
INSERT INTO plsql101_product4 VALUES(NULL,10,12,NULL);



--主键可以drop吗?
ALTER TABLE plsql101_product4 DROP CONSTRAINT pk_product4;
INSERT INTO plsql101_product4 VALUES('飞机',9,12,NULL);
INSERT INTO plsql101_product4 VALUES(NULL,1.2,12,NULL);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -