现在的位置: 首页 > 综合 > 正文

OSCAR SQL语句小练

2012年03月30日 ⁄ 综合 ⁄ 共 1245字 ⁄ 字号 评论关闭
CREATE SCHEMA TEST_SCHEMA;
CREATE TABLE TEST_SCHEMA.TEST_USERS
(
UniqueID
INT NOT NULL UNIQUE,
Name
VARCHAR(50),
Pwd
VARCHAR(50),
Sex
VARCHAR(10),
Email
VARCHAR(50),
PRIMARY KEY(UniqueID)
);

-- 创建序列
CREATE SEQUENCE TEST_SCHEMA.USERS_UNIQUEID_SEQ
START
WITH 20
INCREMENT
BY 1;

-- 用于触发器的函数
CREATE OR REPLACE PROCEDURE TEST_SCHEMA.Test_ForTrigger() RETURN TRIGGER AS
BEGIN
NEW.UniqueID
= NEXTVAL('TEST_SCHEMA.USERS_UNIQUEID_SEQ');
RETURN NEW;
END;
LANGUAGE
'PLOSCAR';

-- 创建触发器实现ID自增
CREATE TRIGGER Test_ForIncreaseID
BEFORE
INSERT ON TEST_SCHEMA.TEST_USERS
FOR EACH ROW
EXECUTE PROCEDURE TEST_SCHEMA.Test_ForTrigger();

-- 注意:参数和列名是不区分大小写的!
CREATE OR REPLACE PROCEDURE TEST_SCHEMA.Delete_User(id IN INT) RETURN VOID AS
BEGIN
DELETE FROM TEST_SCHEMA.TEST_USERS WHERE UniqueID = id;
RETURN VOID;
END;
LANGUAGE
'PLOSCAR';

INSERT INTO TEST_SCHEMA.TEST_USERS(Name,Pwd,Sex,Email) VALUES('刘大','liuda','','liuda@163.com');
INSERT INTO TEST_SCHEMA.TEST_USERS(Name,Pwd,Sex,Email) VALUES('王二','wanger','','wanger@163.com');
INSERT INTO TEST_SCHEMA.TEST_USERS(Name,Pwd,Sex,Email) VALUES('张三','zhangsan','','zhangsan@163.com');
INSERT INTO TEST_SCHEMA.TEST_USERS(Name,Pwd,Sex,Email) VALUES('李四','lisi','','lisi@163.com');
DELETE FROM TEST_SCHEMA.TEST_USERS WHERE UniqueID = 23;
INSERT INTO TEST_SCHEMA.TEST_USERS(Name,Pwd,Sex,Email) VALUES('赵五','zhaowu','','zhaowu@163.com');

 

抱歉!评论已关闭.