ORACLE ÓαêºÍÓαê±äÁ¿µÄÇø±ð
ÈçºÎ¶¨ÒåÓαêÀàÐÍ
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
ÉùÃ÷Óαê±äÁ¿
cursor_name ref_type_name;
´Ó¼¼Êõµ×²ã¿´£¬Á½ÕßÊÇÏàͬµÄ¡£ÆÕͨplsql cursorÔÚ¶¨ÒåʱÊÇ“¾²Ì¬”µÄ¡£¶øRef cursors¿ÉÒÔ¶¯Ì¬´ò¿ª¡£
ÀýÈçÏÂÃæÀý×Ó£º
Declare
type rc is ref cursor;
cursor c is select * from dual;
l_cursor rc;
begin
if ( to_char(sysdate,'dd') = 30 ) then
open l_cursor for 'select * from emp';
elsif ( to_char(sysdate,'dd') = 29 ) then
open l_cursor for select * from dept;
else
open l_cursor for select * from dual;
end if;
open c;
end;
/
l rc¸ù¾ÝÂß¼¶¯Ì¬´ò¿ª£»¶øÓαêc¶¨ÒåºÃÁËÖ»ÓоÍÎÞ·¨ÐÞ¸ÄÁË¡£
l ref cursor¿ÉÒÔ·µ»Ø¸ø¿Í»§¶Ë£¬cursorÔò²»ÐС£
l cursor¿ÉÒÔÊÇÈ«¾ÖµÄglobal £¬ref cursorÔò±ØÐ붨ÒåÔÚ¹ý³Ì»òº¯ÊýÖС£
l ref cursor¿ÉÒÔÔÚ×Ó³ÌÐò¼ä´«µÝ£¬cursorÔò²»ÐС£
l cursorÖж¨ÒåµÄ¾²Ì¬sql±Èref cursorЧÂʸߣ¬ËùÒÔref cursorͨ³£ÓÃÔÚÏò¿Í»§¶Ë·µ»Ø½á¹û¼¯¡£
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
ÔÚÊý¾Ý²Ö¿â»·¾³ÖУ¬ÎÒÃÇͨ³£ÀûÓÃÎﻯÊÓͼǿ´óµÄ²éÑ¯ÖØÐ´¹¦ÄÜÀ´ÌáÉýͳ¼Æ²éѯµÄÐÔÄÜ£¬µ«ÊÇÎﻯÊÓͼµÄ²éÑ¯ÖØÐ´¹¦ÄÜÓÐʱºòÎÞ·¨ÖÇÄܵØÅжϲéѯÖÐһЩÏà¹ØÁªµÄÌõ¼þ£¬ÒÔÖÁÓÚÓ°ÏìÐÔÄÜ¡£±ÈÈçÎÒÃÇÓÐÒ»ÕÅÏúÊÛ±ísales£¬ÓÃÓÚ´æ´¢¶©µ¥µÄÏêϸÐÅÏ¢£¬°üº¬½»Ò×ÈÕÆÚ¡¢¹Ë¿Í±àºÅºÍÏúÊÛÁ¿¡£ÎÒÃÇ´´½¨Ò»ÕÅÎﻯÊÓͼ£¬°´Ô´洢ÀÛ¼ÆÏúÁ¿ÐÅÏ¢£¬¼ ......
ÔÌû: http://blog.chinaunix.net/u2/66903/showart_2082884.html
OracleʹÓôóÁ¿²»Í¬µÄÉ󼯷½·¨À´¼à¿ØÊ¹ÓúÎÖÖȨÏÞ£¬ÒÔ¼°·ÃÎÊÄÄЩ¶ÔÏó¡£É󼯲»»á·ÀֹʹÓÃÕâЩȨÏÞ£¬µ«¿ÉÒÔÌṩÓÐÓõÄÐÅÏ¢£¬ÓÃÓÚ½ÒʾȨÏÞµÄÀÄÓúÍÎóÓá£
ϱíÖÐ×ܽáÁËOracleÊý¾Ý¿âÖв»Í¬ÀàÐ͵ÄÉ󼯡£
Éó ¼Æ Àà ÐÍ
˵ Ã÷
Óï¾äÉó¼Æ ......
1¡¢ÐòÁж¨Òå
ORACLE:
CREATE SEQUENCE <sequence_name>
INCREMENT BY <integer>
&n ......
ÓÉÓÚÏµÍ³ÒÆÖ²£¬ÔÀ´µÄÊý¾Ý¿â±àÂëºÍÊ±Çø¶¼»»ÁË£¬ÔÀ´µÄһЩSQLÎÄÒ²³ö´íÁË¡£¡£
¾³£±À³ö"ORA-01846: not a valid day of the week
"´íÎó¡£
¾²âÊÔ£¬ÒÔÏÂÕâ¸ö¼òµ¥Óï¾äÒ²»á´í£¡£¡
SQL> select next_day(sysdate,'FRIDAY') from DUAL;
select next_day(sysdate,'FRIDAY') from DUAL
ORA-01 ......