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),
age number,
score number(4,2))
²¢²åÈëһЩÊý¾Ý£¨×Ô¼ºÊÖ¶¯²åÈëһЩ°É£©
2¡¢´´½¨º¯Êý
create or replace function fun_getScores(
v_age in stud.age%type
)
return number
is ......
´Óoracle8µ½oracle10£¬JDBCĿ¼ÏµÄÇý¶¯°ü¶¼¸÷Óв»Í¬¡£¿´ÁËÒ»ÏÂoracleµÄÎĵµËµÃ÷£¬Á˽âÁËÒ»ÏÂËüÃǵÄÓÃ;£¬ÏàÐÅ´ó¼ÒÓÐʱºòÒ²ºÜÃÔ»ó£¬Ð´³öÀ´¹²Ïíһϡ£
ÕâЩÊÇoracle10gϵÄÇý¶¯°üµÄÃû³ÆºÍËüÃǵÄ×÷Óã¬ÆäËû°æ±¾µÄoracle»ù±¾ÀàËÆ¡£
Ö§³ÖËùÓÐÆ½Ì¨µÄJDBC ThinÇý¶¯
classes12.jar (1,417,089 bytes) - JDK 1.2 ºÍ JDK 1.3ÏÂÊ¹Ó ......
×î½üæÓÚ¹«Ë¾µÄÏîÄ¿¿ª·¢£¬ºÜ¾ÃûÓÐÀ´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 ÐÞ¸ÄÊý¾Ý¿âµÄÈ«¾ÖÊ ......