±±´óÇàÄñoracleѧϰ±Ê¼Ç19 20 21 22
Óαê
Ö¸ÏòÉÏÏÂÎÄÇøÓòµÄ¾ä±ú»òÖ¸Õë
ÓαêÔÚ·þÎñÆ÷¶Î´æ´¢
ÊôÐÔ
%NOTFOUND ûÓÐÕÒµ½½á¹û»òûÓвÙ×÷³É¹¦
%FOUND ÕÒµ½½á¹û»ò²Ù×÷³É¹¦
%ROWCOUNT ÓαêÓ°ÏìµÄÐÐÊý
%ISOPEN ÓαêÊÇ·ñ´ò¿ª ÒþʽÓαêϵͳ×Ô¶¯Î¬»¤£¬ÓÀԶΪ¼Ù
ÀàÐÍ£º
¾²Ì¬Óαê
-ÒþʽÓαê
ÔÚoracleÄÚ²¿ÉùÃ÷
ÓÃÓÚ´¦ÀíDMLÓï¾äºÍ·µ»Øµ¥ÐеIJéѯ
SQLΪÒþʽÓαêĬÈÏÃû³Æ£¬Àý£º
begin
insert into student values('3','test','m',sysdate);
dbms_output.put_line('ÓαêÓ°ÏìµÄÐÐÊý£º'||SQL%ROWCOUNT);
end;
-ÏÔʽÓαê
ÓÉÓû§ÏÔʾÉùÃ÷
ÓαêÖ¸Ïò»î¶¯¼¯µÄµ±Ç°ÐÐ
¿ØÖÆÏÔʾÓαê
Open ´ò¿ªÓαê
Fetch … into …
Close ¹Ø±ÕÓαê
declare
cursor stuCur is select * from student;
stuRow student%rowtype;
begin
open stuCur;
loop
fetch stuCur into sturow;
exit when stuCur%NotFound;
dbms_output.put_line(sturow.stu_name);
dbms_output.put_line(stuCur%RowCount);
end loop;
close stuCur;
end;
REFÓαê(¶¯Ì¬Óαê)
ÔÚÔËÐÐʱʹ²»Í¬µÄÓï¾äÓëÖ®¹ØÁª
REFÓαêʹÓÃÓαê±äÁ¿
Óαê±äÁ¿£ºÒ»ÖÖÒýÓÃÀàÐÍ£¬¿ÉÒÔÔÚÔËÐÐʱָÏò²»Í¬µÄ´æ´¢Î»Öã¬closeÓï¾ä¹Ø±ÕÓα겢ÊÍ·ÅÓÃÓÚ²éѯµÄ×ÊÔ´¡£
ÀàÐÍ£º
ÓÐÔ¼ÊøµÄÓαê±äÁ¿£º¾ßÓзµ»ØÀàÐÍ ¶¨ÒåÓαêʱ¼ÓÉÏreturn ÓαêÀàÐÍ
declare
type RefstuCur is ref cursor return stu%rowtype;
stuCur RefstuCur;
sturow student%rowtype;
flag int :=0;
begin
flag := &flag;
if flag = 0 then
open stucur for select * from student where stu_id <= '2';
else
open st
Ïà¹ØÎĵµ£º
²é¿´ÕýÔÚÖ´ÐеÄsqlÓï¾ä
SELECT osuser, username, sql_text from v$session a, v$sqltext b where a.sql_address =b.address order by address, piece;
²¶×½ÔËÐкܾõÄSQL
select username,sid,opname, round(sofar*100 / totalwork,0) || '%' as progress, time_remaining,sql_text from v$session_longops , v$ ......
PL/SQL
¿é½á¹¹
DECLARE
ÉùÃ÷²¿·Ö
BEGIN
¿ÉÖ´Ðв¿·Ö
EXCEPTION
Òì³£´¦Àí²¿·Ö
END;
Àý£º
Ê×ÏÈÎÒÃÇ¿´Ò»¸ö¼òµ¥Ö®Àý×Ó,ÏÂÃæÕâ¸öÀý×ÓÊÇͳ¼Æ´Ó1 ......
oracleÀïµÄextendµÄÒâ˼
À©Õ¹ÒÑÖªµÄÊý×é¿Õ¼ä£¬Àý£º
DECLARE
TYPE CourseList IS TABLE OF VARCHAR2(10);
courses CourseList;
BEGIN
-- ³õʼ»¯Êý×éÔªËØ£¬´óСΪ3
courses := CourseList( 'Biol 4412 ', 'Psyc 3112 ', 'Anth 3001 ');
-- ΪÊý×éÔö¼ÓÒ»¸öÔªËØ£¬Êý×é´óСΪ4£¬Ä©Î²µÄÔªËØÎªNULL
courses.EXTEN ......
½ñÌì×öͳ¼ÆµÄʱºò·¢ÏÖÒ»¸öÊý¾Ý±íÃæÉÏ¿´À´ÊÇ‘920 ’µ«È¥¿Õ¸ñÎÞÂÒÈçºÎ¶¼È¥²»µô£¬×îºó·¢ÏÖÊDz»¿É¼û×Ö·û¡£¡£¡£
ÓÚÊÇÔÚÍøÉÏËѵ½Ò»ÆªÎÄÕ£¬ÈçºÎÀ´ÅжÏÕâ¸ö²»¿É¼û×Ö·ûµÄÎÊÌâ~
°´ÏÂÃæµÄ·½·¨Åжϳö²»¿É¼û×Ö·ûµÄascIIÂëÊÇ10£¬ÓÚÊÇÓÃrtrim('Ô×Ö·û','chr(10)')À´È¥µôÕâ¸ö²»¿É¼û×Ö·û¡£
½ñÌìÓöµ½Ò»Ôò°¸Àý£¬ÎÊÌâÊÇÊý¾Ý¿âÖп ......
--sqlplus
sqlplus;
sys /password as sysdba;
--²éÕÒÓû§ID£¨user#£©,Êý¾Ý¿âÀïÃæ´æ·ÅµÄÓû§¶¼ÊÇ´óд!
select user#,name,password from user$ where name ='FACT';
USER# NAME   ......