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.¹Ø±ÕÓ
Ïà¹ØÎĵµ£º
begin
for item in (select * from user_constraints a where a.constraint_type = 'R') loop
execute immediate 'alter table ' || item.table_name || ' disable constraint ' || item.constraint_name;
end loop;
end;
/ ......
ÏîÄ¿ÖÐÓÐÉæ¼°´æ´¢¹ý³Ì¶Ô×Ö·û´®µÄ´¦Àí£¬ËùÒԾͽ«ÔÚÍøÉϲéÕÒµ½µÄ×ÊÁÏ»ã×Ü£¬×öÒ»¸öÐÅϢƴ½ÓʽµÄ×ܽᡣ
ÒÔÏÂÐÅÏ¢¾ùÀ´×Ô»¥ÁªÍø£¬Ìù³öÀ´Ò»Ôò×Ô¼º±£´æÒÔ´ýÒÔºóʹÓã¬Ò»Ôò¹©´ó¼Ò·ÖÏí¡£
×Ö·ûº¯Êý——·µ»Ø×Ö·ûÖµ
ÕâЩº¯ÊýÈ«¶¼½ÓÊÕµÄÊÇ×Ö·û×åÀàÐ͵IJÎÊý(CHR³ýÍâ)²¢ÇÒ·µ»Ø×Ö·ûÖµ.
³ýÁËÌØ±ð˵Ã÷µÄÖ®Íâ,ÕâЩº¯Êý´ó²¿·Ö·µ» ......
×î½üæÓÚ¹«Ë¾µÄÏîÄ¿¿ª·¢£¬ºÜ¾ÃûÓÐÀ´csdnÁË¡£½ñÌìÎÞÊ£¬ÉÏÀ´Ð´µã¶«Î÷¡£¹©´ó¼Ò²Î¿¼£¬²»¶ÔµÄµØ·½»¹Ï£Íû´ó¼ÒÅúÆÀÖ¸Õý¡£
Ò»ÏÂÊǶÔoracleÊý¾Ý¿â±íµÄһЩ²Ù×÷Óï¾ä£º
ÒѾ½¨ºÃµÄ±íÌí¼Ó×Ö¶Î
alter table Tablename add(column1&nb ......
ÔÚ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 ......
1¡¢ÔÚ±¾»ú69ÉÏ´´½¨Êý¾Ý¿âorcl £¬global_name=orcl£¬Ê¹ÓÃÓï¾ä
alter database rename global_name to orcl.us.oracle.com ÐÞ¸ÄÊý¾Ý¿âµÄÈ«¾ÖÊý¾Ý¿âÃûΪorcl.us.oracle.com
2¡¢ÔÚÐé»ú188ÉÏ´´½¨Êý¾Ý¿âviotest£¬global_name=viotest£¬Ê¹ÓÃÓï¾ä
alter database rename global_name to viotest.us.oracle.com ÐÞ¸ÄÊý¾Ý¿âµÄÈ«¾ÖÊ ......