CREATE OR REPLACE add_s(p_no NUMBER,p_name VARCHAR2,p_cnu NUMBER)
AS
BEGIN
INSERT INTO cla VALUES(p_cnu);
INSERT INTO stu VALUES(p_no,p_name,p_cnu);
COMMIT;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('no');
END;
出现选项缺失或无效 为什么呢?
AS
BEGIN
INSERT INTO cla VALUES(p_cnu);
INSERT INTO stu VALUES(p_no,p_name,p_cnu);
COMMIT;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('no');
END;
出现选项缺失或无效 为什么呢?
解决方案 »
- A表触发器事件是由B表触发出来的,这样如何从A表触发器取出B表新的update记录数据???
- ORCL 64位 与 32位 问题
- 有关函数传参问题
- oracle 中多表查询 问题
- ASP+Oracle不如BCB+Oracle开发出来的软件好吗?
- ORACLE 字符串替换. .. . . .
- oracle 乱码
- ORA-00001: 违反唯一约束条件
- 安装oracle10g的时候创建了一个数据库orcl,但在oracle net manager中测试其服务总是错误,而且sql*plus也登录不进去,这是为何阿??
- 数据复制,解决后立即给分。
- count(*),count(1)和count(主键)的区别
- 求视频教程:PL/SQL系列高级编程及大型B2C商城项目数据库实战
CREATE OR REPLACE add_s(p_no NUMBER,p_name VARCHAR2,p_cnu NUMBER)
AS
BEGIN
INSERT INTO cla(栏位名) VALUES(p_cnu);
INSERT INTO stu(栏位名) VALUES(p_no,p_name,p_cnu);
COMMIT;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('no');
END;
加上了 还是这个错误
我建表的过程是这样的 ,你看下
CREATE OR REPLACE PROCEDURE CREATE_S_C AS
SQL_C1 VARCHAR2(1000);
SQL_C2 VARCHAR2(1000);
BEGIN
SQL_C1 := ' CREATE TABLE CLA(cno NUMBER PRIMARY KEY )';
EXECUTE IMMEDIATE 'sql_c1';
COMMIT;
SQL_C2 := ' CREATE TABLE STU(NU NUMBER PRIMARY KEY, NAME VARCHAR2(10),CNO NUMBER REFERENCES CLA(CNO));';
EXECUTE IMMEDIATE 'sql_c2';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'no';
EXECUTE IMMEDIATE 'sql_c1';
EXECUTE IMMEDIATE 'sql_c2';
END;问题在哪里呢???
你想创建什么?
存储过程?
CREATE OR REPLACE procedure add_s
CREATE OR REPLACE Procedure add_s(p_no NUMBER,p_name VARCHAR2,p_cnu NUMBER)
AS
BEGIN
INSERT INTO cla(cno) VALUES(p_cnu);
INSERT INTO stu(nu,NAME,cno) VALUES(p_no,p_name,p_cnu);
COMMIT;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('no');
END;
CREATE OR REPLACE Procedure add_s(p_no NUMBER,p_name VARCHAR2,p_cnu NUMBER)
AS
BEGIN
INSERT INTO cla(cno) VALUES(p_cnu);
INSERT INTO stu(nu,NAME,cno) VALUES(p_no,p_name,p_cnu);
COMMIT;
EXCEPTION WHEN OTHERS THEN
dbms_output.put_line('no');
END;
SQL_C1 VARCHAR2(1000);
SQL_C2 VARCHAR2(1000);
BEGIN
SQL_C1 := ' CREATE TABLE CLA(cno NUMBER PRIMARY KEY )';
EXECUTE IMMEDIATE 'sql_c1';
COMMIT;
SQL_C2 := ' CREATE TABLE STU(NU NUMBER PRIMARY KEY, NAME VARCHAR2(10),CNO NUMBER REFERENCES CLA(CNO));';
EXECUTE IMMEDIATE 'sql_c2';
COMMIT;
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE 'no';
EXECUTE IMMEDIATE 'sql_c1';
EXECUTE IMMEDIATE 'sql_c2';
END;这段代码为什么我执行不通过呢???