- 建表
-
- create table STUDENT
- (
- ID VARCHAR2(10) not null,
- NAME VARCHAR2(20)
- )
- create table CLASS
- (
- ID NUMBER not null,
- SID VARCHAR2(10) not null
- )
-
添加外键约束
- ALTER TABLE course ADD CONSTRAINT fk_course_sid FOREIGN key(sid) REFERENCES student(id);
- 字符串函数
- SQL> select substr('123,456',0,instr('123,456',',')-1) from dual;
- SUBSTR('123,456',0,INSTR('123,
- ------------------------------
- 123
- 创建FUNCTION
- CREATE OR REPLACE FUNCTION studentsInClass
- (cid number) -- parameter
- return number-- return value
- is
- --declare variables
- returnVal number;
- --end declare variables
- begin
- select count(*) into returnVal from class where id=cid;
- return returnVal;
- end studentsInClass;
- 调用FUNCTION
- select studentsinclass(1) from dual;
- -- Created on 2008-9-26 by FENG
- declare
- -- Local variables here
- i integer;
- begin
- -- Test statements here
- i := studentsinclass(1);
- dbms_output.put_line('t1表中数据的总量是:'||i);
- end;
- 创建STORED PROCEDURE
- CREATE OR REPLACE TYPE myTable AS TABLE OF varchar(10);
- CREATE OR REPLACE PROCEDURE addtoclass(cid IN number, sids IN MYTABLE, n out int) IS --n:total student in class(cid)
- BEGIN
- FOR I IN 1..sids.COUNT LOOP
- -- DBMS_OUTPUT.PUT_LINE(P_T(I));
- INSERT INTO class VALUES (cid, sids(I));
- END LOOP;
- COMMIT;
- select count(*) into n from class where id=cid;
- END addtoclass;
- 调用STORED PROCEDURE
- -- Created on 2008-9-26 by FENG
- declare
- -- Local variables here
- i integer;
- begin
- -- Test statements here
- addtoclass(1, mytable('001','002'), i);
- dbms_output.put_line('number of students in class 1:'||i);
- end;
- DECLEARE, BEGIN END
- DECLARE
- id NUMBER;
- BEGIN
- id := 0;
- DELETE FROM A_a WHERE aid=id;
- DELETE FROM A_b WHERE aid=id;
- DELETE FROM A_c WHERE aid=id;
- DELETE FROM A_d WHERE aid=id;
- DELETE FROM A WHERE aid=id;
- COMMIT;
- END;
http://blog.youkuaiyun.com/believefym/article/details/1836162