Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Oracle RETURNING INTO Ó÷¨Ê¾Àý

The RETURNING INTO clause allows us to return column values for rows affected by DML statements. The following test table is used to demonstrate this clause.
DROP TABLE t1;
DROP SEQUENCE t1_seq;
CREATE TABLE t1 (
id NUMBER(10),
description VARCHAR2(50),
CONSTRAINT t1_pk PRIMARY KEY (id)
);
CREATE SEQUENCE t1_seq;
INSERT INTO t1 VALUES (t1_seq.nextval, 'ONE');
INSERT INTO t1 VALUES (t1_seq.nextval, 'TWO');
INSERT INTO t1 VALUES (t1_seq.nextval, 'THREE');
COMMIT;
When we insert data using a sequence to generate our primary key value, we can return the primary key value as follows.
SET SERVEROUTPUT ON
DECLARE
l_id t1.id%TYPE;
BEGIN
INSERT INTO t1 VALUES (t1_seq.nextval, 'FOUR')
RETURNING id INTO l_id;
COMMIT;
DBMS_OUTPUT.put_line('ID=' || l_id);
END;
/
ID=4
PL/SQL procedure successfully completed.
SQL>
The syntax is also available for update and delete statements.
SET SERVEROUTPUT ON
DECLARE
l_id t1.id%TYPE;
BEGIN
UPDATE t1
SET description = description
WHERE description = 'FOUR'
RETURNING id INTO l_id;
DBMS_OUTPUT.put_line('UPDATE ID=' || l_id);
DELETE from t1
WHERE description = 'FOUR'
RETURNING id INTO l_id;
DBMS_OUTPUT.put_line('DELETE ID=' || l_id);
COMMIT;
END;
/
UPDATE ID=4
DELETE ID=4
PL/SQL procedure successfully completed.
SQL>
When DML affects multiple rows we can still use the RETURNING INTO, but now we must return the values into a collection using the BULK COLLECT clause.
SET SERVEROUTPUT ON
DECLARE
TYPE t_tab IS TABLE OF t1.id%TYPE;
l_tab t_tab;
BEGIN
UPDATE t1
SET description = description
RETURNING id BULK COLLECT INTO l_tab;
FOR i IN l_tab.first .. l_tab.last LOOP
DBMS_OUTPUT.put_line('UPDATE ID=' || l_tab(i));
END LOOP;
COMMIT;
END;
/
UPDATE ID=1
UPDATE ID=2
UPDATE ID=3
PL/SQL procedure successfully completed.
SQL>
We can also use the RETURNING INTO clause in combination with bulk binds.
SET SERVEROUTPUT ON


Ïà¹ØÎĵµ£º

oracleÎÊÌâÖ®Ò»£º±¾»úÁ¬½ÓÊý¾Ý¿â·þÎñÆ÷

½ñÌìÔÚnet managerÅäÖñ¾µØ·þÎñʱ³öÏÖÕâÑùµÄÎÊÌâ
ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor
ÔÚgoogleÉÏËÑË÷µÃµ½Èô¸É´ð°¸£¬×ÜÊDz»¶Ô£¬ºóÀ´ÔÚͬʵİïÖúϽâ¾öÁËÎÊÌ⣬ÏÖÔÚ×ܽáһϸú´ó¼Ò·ÖÏí¡£
1¡¢Ñ¡Öб¾µØ——·þÎñÃüÃû£¬Ôڱ༭Öд´½¨
2¡¢ÊäÈënet·þÎñÃû£¬×¢ÒâÕâÊÇ ......

Éî¿ÌÀí½âOracleÊý¾Ý¿âµÄÆô¶¯ºÍ¹Ø±Õ

OracleÊý¾Ý¿âÌṩÁ˼¸ÖÖ²»Í¬µÄÊý¾Ý¿âÆô¶¯ºÍ¹Ø±Õ·½Ê½£¬±¾ÎĽ«Ïêϸ½éÉÜÕâЩÆô¶¯ºÍ¹Ø±Õ·½Ê½Ö®¼äµÄÇø±ðÒÔ¼°ËüÃǸ÷×Ô²»Í¬µÄ¹¦ÄÜ¡£
Ò»¡¢Æô¶¯ºÍ¹Ø±ÕOracleÊý¾Ý¿â
¡¡¡¡¶ÔÓÚ´ó¶àÊýOracle DBAÀ´Ëµ£¬Æô¶¯ºÍ¹Ø±ÕOracleÊý¾Ý¿â×î³£Óõķ½Ê½¾ÍÊÇÔÚÃüÁîÐз½Ê½ÏµÄServer Manager¡£´ÓOracle 8iÒÔºó£¬ÏµÍ³½«Server ManagerµÄËùÓй¦Äܶ¼¼¯Öе ......

oracle 10g»ù´¡²Ù×÷±í

¡¡¡¡1´´½¨Ð±í
¡¡¡¡1.1´Ó²éѯµ½µÄ±í´´½¨±í
¡¡¡¡create table temp as select stuName,stuNo,stuSex from stuInfo where stuAge>25;
¡¡¡¡1.2´´½¨Ð±í
¡¡¡¡/*ѧÉúÐÅÏ¢±í*/
¡¡¡¡create table stuInfo(
¡¡¡¡stuName varchar2(10) ,
¡¡¡¡stuNo varchar2(10),
¡¡¡¡stuSex varchar2(4),
¡¡¡¡stuAge number(2),
¡¡¡¡st ......

oracle ±Ê¼Ç V Ö®´¥·¢Æ÷ (TRIGGER)

 ´¥·¢Æ÷ trigger
·ÖÀࣺǰ´¥·¢£¬ºó´¥·¢
      Ðд¥·¢Æ÷£¬Óï¾ä´¥·¢Æ÷
Ðд¥·¢Æ÷ÓëÓï¾ä´¥·¢Æ÷µÄÇø±ð£º
Ðд¥·¢Æ÷ÒªÇóµ±Ò»¸ö DML Óï¾ä²Ù×÷Ó°ÏìÊý¾Ý¿âÖеĶàÐÐÊý¾Ýʱ£¬¶ÔÓÚÆäÖеÄÿ¸öÊý¾ÝÐУ¬Ö»ÒªËüÃÇ·ûºÏ´¥·¢Ô¼ÊøÌõ¼þ£¬¾ù¼¤»îÒ»´Î´¥·¢Æ÷,FOR EACH ROW Ñ¡Ïî˵Ã÷´¥·¢Æ÷ΪÐд¥·¢Æ÷£»
Óï¾ä´¥·¢Æ÷ ......

Oracle ADF ¼ò½é

ADFÊÇ£¨Application Development Framework£©µÄ¼ò³Æ£¬ËüµÄǰÉíÊÇBC4J¡£ ¹âÌýÕâ¸öÃû×Ö¾ÍÖªµÀËüÊÇÒ»¸öend-to-endµÄ¿ò¼Ü¡£ºÍSpringÒ»ÑùËüÔÚÆóÒµÓ¦Óüܹ¹µÄÿһ¸ö²ã´Î¶¼ÌṩÁËËüµÄÖ§³Ö¡£ADFµÄ¼Ü¹¹ÈçÏÂͼËùʾ£º
ÔÚÿһ²ãADF¶¼ÓÐËüµÄһЩ×é¼þ¡£ÎÒÕâ´ÎÖ÷ÒªÏë½²½²ADFµÄdata binding£¬ÒòΪËü¸ôÀëÁËÒµÎñÂß¼­²ãºÍweb²ã£¬Ê¹µÃÁ½¸ö²ã´Î ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ