OracleÓαêʹÓÃ×ܽá
Óα꣨CURSOR£©Ò²½Ð¹â±ê£¬ÔÚ¹ØÏµÊý¾Ý¿âÖо³£Ê¹Óã¬ÔÚPL/SQL³ÌÐòÖпÉÒÔÓÃCURSORÓëSELECTÒ»Æð¶Ô±í»òÕßÊÓͼ
ÖеÄÊý¾Ý½øÐвéѯ²¢ÖðÐжÁÈ¡¡£
OracleÓαê·ÖΪÏÔʾÓαêºÍÒþʽÓαꡣ
ÏÔʾÓα꣨Explicit Cursor£©:ÔÚPL/SQL³ÌÐòÖж¨ÒåµÄ¡¢ÓÃÓÚ²éѯµÄÓÎ±ê³Æ×÷ÏÔʾÓαꡣ
ÒþʽÓα꣨Implicit Cursor£©:ÊÇÖ¸·ÇPL/SQL³ÌÐòÖж¨ÒåµÄ¡¢¶øÇÒÊÇÔÚPL/SQLÖÐʹÓÃUPDATE/DELETEÓï¾äʱ£¬Oracleϵͳ×Ô¶¯·ÖÅäµÄÓαꡣ
Ò».ÏÔʾÓαê
1.ʹÓò½Öè
(1)¶¨Òå (2)´ò¿ª (3)ʹÓà (4)¹Ø±Õ
2.ʹÓÃÑÝʾ
Ê×ÏÈ´´½¨²âÊÔÓñíSTUDENT£¬½Å±¾ÈçÏ£º
CREATE TABLE "STUDENT" (
"STUNAME" VARCHAR2(10 BYTE),
"STUNO" VARCHAR2(4 BYTE),
"AGE" NUMBER,
"GENDER" VARCHAR2(2 CHAR)
)
(1).ʹÓÃWHILEÑ»·´¦ÀíÓαê
create or replace PROCEDURE PROC_STU1 AS
BEGIN
--ÏÔʾÓαêʹÓã¬Ê¹ÓÃwhileÑ»·
declare
--1.¶¨ÒåÓα꣬Ãû³ÆÎªcur_stu
cursor cur_stu is
select stuno,stuname from student order by stuno;
--¶¨Òå±äÁ¿£¬´æ·ÅÓαêÈ¡³öµÄÊý¾Ý
v_stuno varchar(4);
v_stuname varchar(20);
begin
--2.´ò¿ªÓαêcur_stu
open cur_stu;
--3.½«ÓαêµÄµ±Ç°ÐÐÈ¡³ö´æ·Åµ½±äÁ¿ÖÐ
fetch cur_stu into v_stuno,v_stuname;
while cur_stu%found --ÓαêËùÖ¸»¹ÓÐÊý¾ÝÐУ¬Ôò¼ÌÐøÑ»·
loop
--´òÓ¡½á¹û
dbms_output.PUT_LINE(v_stuno||'->'||v_stuname);
--¼ÌÐø½«ÓαêËùÖ¸µÄµ±Ç°ÐÐÈ¡³ö·Åµ½±äÁ¿ÖÐ
fetch cur_stu into v_stuno,v_stuname;
end loop;
close cur_stu; --4.¹Ø±ÕÓ
Ïà¹ØÎĵµ£º
1¡¢´´½¨±í£º
create table stud(
sid int,
sname varchar2(50)
)
²¢²åÈëÒ»ÌõÊý¾Ý
&n ......
±¾ÒëÎIJÉÓÃ֪ʶ¹²ÏíÊðÃû-·ÇÉÌÒµÐÔʹÓÃ-Ïàͬ·½Ê½¹²Ïí 3.0 UnportedÐí¿ÉÐÒé·¢²¼£¬×ªÔØÇë±£Áô´ËÐÅÏ¢
ÒëÕߣºÂí³ÝÜÈ | Á´½Ó£ºhttp://www.dbabeta.com/2010/oracle-sql-server-comparison-i.html
×÷ÕߣºSadequl Hussain | ÔÎÄ£ºhttp://www.sql-server-performance.com/articles/dba/oracle_sql_server_comparison_p1.aspx
Ò» ......
×î½üæÓÚ¹«Ë¾µÄÏîÄ¿¿ª·¢£¬ºÜ¾ÃûÓÐÀ´csdnÁË¡£½ñÌìÎÞÊ£¬ÉÏÀ´Ð´µã¶«Î÷¡£¹©´ó¼Ò²Î¿¼£¬²»¶ÔµÄµØ·½»¹Ï£Íû´ó¼ÒÅúÆÀÖ¸Õý¡£
Ò»ÏÂÊǶÔoracleÊý¾Ý¿â±íµÄһЩ²Ù×÷Óï¾ä£º
ÒѾ½¨ºÃµÄ±íÌí¼Ó×Ö¶Î
alter table Tablename add(column1&nb ......
СÐÍ»ú·Ïߣ¬¼¸ºõÒѱ»·âËÀ¡£ÎÞ·¨Ê¹ÓÃSun£¬ËüÒѺÍOracle½ôÃܰ󶨣¬Èô»¹Ê¹ÓÃÉÏÊöÉè¼Æ£¬»áºÜÄÑ˵·þÊÛǰ½«Ð¡ÐÍ»ú¡¢´æ´¢¡¢Êý¾Ý¿â·Ö±ð´Ó²»Í¬³§É̲ɹº£»ÁíÍ⣬ÒàÎÞ·¨Ê¹ÓÃIBM£¬¾Ý˵FLYµÄij¸öÀϰ岻ϲ»¶¡£ ´óÁ¦ÍƽøÊý¾Ý¿âϵͳPC»¯£¬ÕâËÆºõÊÇ×î¼Ñ²ßÂÔ¡£FLYÓ¦ÓöÔÊý¾Ý ......
ÔÚOracle¹ØÓÚʱ¼äÊôÐԵĽ¨±í
Example:
create table courses(
cid varchar(20) not null primary key,
cname varchar(20) not null,
ctype integer,
ctime date DEFAULT SYSDATE,
cscore float not null
)
insert into courses values('ss01','.NET',0,TO_DATE('2009-8-28','yyyy-mm-dd'),94)
insert into course ......