不知道该怎么问,初学,我写代码老是调不过去,需求如下所述,请高手指点!!建两个表table1,table2(随便即可),1过程,1触发器,触发器的作用是insert 到table1中的信息写入table2中,过程的作用是根据提供的参数写入table1信息拜托把所有的建表,过程,初发期的sql都贴上来,一定要调试通过啊
解决方案 »
- 大家帮我推测一下是什么原因让我的Oracle变得超慢极其慢
- 关于oracle 中数据导入中的问题,急!请教!
- 分析数据库索引
- 急急!!ORA-01092: ORACLE instance terminated. Disconnection forced
- 续上贴:如何从表中找出编码重复而名称不重复的所有记录?请高手对我的两种查询方案的跟踪结果进行分析?
- 关于PL/SQL 添加orderid
- 关于触发器??谢谢!
- ORCL更新求助
- create database link的问题。
- ★★前途迷茫!!怎么样的水平才能找到ORACLE开发的工作????我要喝西北风了!!
- oracle 中的排列的问题
- 紧急求助
2 AFTER INSERT ON TEST
3 FOR EACH ROW
4 BEGIN
5 INSERT INTO TEST_BAK(ID,COL)VALUES(:NEW.ID,:NEW.COL);
6 END;
7 /触发器已创建SQL> CREATE OR REPLACE PROCEDURE DO_INSERT(theID IN NUMBER,theCOL IN VARCHAR2) AS
2 BEGIN
3 INSERT INTO TEST(ID,COL)VALUES(theID,theCOL);
4 END;
5 /过程已创建。SQL> EXEC DO_INSERT (1,'AA');PL/SQL 过程已成功完成。SQL> COMMIT;提交完成。SQL> SELECT * FROM TEST; 编号 名称
-------- ----------
1 AASQL> SELECT * FROM TEST_BAK; 编号 名称
-------- ----------
1 AA
CREATE TABLE TEST_BAK ( ID NUMBER(5),COL VARCHAR2(10) );CREATE OR REPLACE TRIGGER TRG_TEST_BAK
AFTER INSERT ON TEST
FOR EACH ROW
BEGIN
INSERT INTO TEST_BAK(ID,COL)VALUES(:NEW.ID,:NEW.COL);
END;
/CREATE OR REPLACE PROCEDURE DO_INSERT(theID IN NUMBER,theCOL IN VARCHAR2) AS
BEGIN
INSERT INTO TEST(ID,COL)VALUES(theID,theCOL);
END;
/
(id number(4),
name varchar2(10));create table tb2
(id number(4),
name varchar2(10));create or replace procedure inserttbl1(empid in number,name in varchar2)
is
v_empid_in number;
v_name_in varchar2(40);
begin
v_empid_in :=empid;
v_name_in :=name;
execute immediate 'insert into tb1(id,name) values(:1,:2)' using v_empid_in,v_name_in;
commit;
end;create or replace trigger inserttb2
before insert on tb1
for each row
begin
insert into tb2(id,name)
values(:new.id,:new.name);
end;