oracle ´æ´¢¹ý³Ì
select myFunc(²ÎÊý1,²ÎÊý2..) to dual; --¿ÉÒÔÖ´ÐÐһЩҵÎñÂß¼
Ò»:OracleÖеĺ¯ÊýÓë´æ´¢¹ý³ÌµÄÇø±ð:
A:º¯Êý±ØÐëÓзµ»ØÖµ,¶ø¹ý³ÌûÓÐ.
B:º¯Êý¿ÉÒÔµ¥¶ÀÖ´ÐÐ.¶ø¹ý³Ì±ØÐëͨ¹ýexecuteÖ´ÐÐ.
C:º¯Êý¿ÉÒÔǶÈëµ½SQLÓï¾äÖÐÖ´ÐÐ.¶ø¹ý³Ì²»ÐÐ.
ÆäʵÎÒÃÇ¿ÉÒÔ½«±È½Ï¸´ÔӵIJéѯд³Éº¯Êý.È»ºóµ½´æ´¢¹ý³ÌÖÐÈ¥µ÷ÓÃÕâЩº¯Êý.
¶þ:ÈçºÎ´´½¨´æ´¢¹ý³Ì:
A:¸ñʽ
create or replace procedure <porcedure_name>
[(²ÎÊýÃû²ÎÊýÀàÐÍÒÔ¼°ÃèÊö,....)] ---×¢Òâ,ûÓзµ»ØÖµ
is
[±äÁ¿ÉùÃ÷]
begin
[¹ý³Ì´¦Àí];----------null;
exception
when Òì³£Ãû then
end;
×¢Òâ:²ÎÊýÖÐĬÈÏÊǰ´Öµ´«µÝ.ÊÇin·½Ê½.Ò²¿ÉÒÔÊÇoutºÍin out·½Ê½.ÕâÐ©ÌØµãºÍº¯ÊýÒ»Ñù.
B:¾ÙÀý1:
create or replace procedure myPro----create or replace proc myPro ³ö´í ²»Äܼòд
(a in int:=0,b in int:=0)
is
c int:=0;
begin
c:=a+b;
dbms_output.put_line('C is value'||c);
end;
Ö´ÐÐ:
execute myPro(10,20); ---ÔÚSql ServerÖÐ.Ö´Ðд洢¹ý³ÌÊDz»ÐèÒªÀ¨»¡µÄ.×¢Ò⠷ֺŲ»Òªµ÷ÁË.
exec myPro(10,20); --¿ÉÒÔ¼òд
C:¾ÙÀý2:
Èç¹ûÔÚÒ»¸öº¯ÊýÀïÃæ°üº¬SelectÓï¾äµÄ»°,ÄÇô¸ÃSelectÓï¾ä±ØÐëÓÐinto,¹ý³ÌͬÑùÒ²ÐèÒª.
create or replace procedure myPro1
(a int:=0,b int:=0)
is
c int:=0;
begin
select empno+a+b into c from emp where ename='FORD';
dbms_output.put_line('C is values '||c);
end;
Ö´ÐÐ:
execute myPro1(10,20)
D:¼ÙÈçÔÚÒ»¸ö¹ý³ÌÀïÃæÒª·µ»ØÒ»¸ö½á¹û¼¯£¬Ôõô°ì?´ó¼Ò×¢Òâ.¾Í±ØÐëÒªÓõ½ÓαêÁË!ÓÃÓαêÀ´´¦ÀíÕâ¸ö½á¹û¼¯.
create or replace procedure Test
(
varEmpName emp.ename%type
)
is begin ------»á±¨´í.´íÎóÔÒòûÓÐinto×Ó¾ä.
select * from emp where ename like '%'||varEmpName||'%';
end;
Õâ¸ö³ÌÐòÎÒÃÇÎÞ·¨ÓÃinto£¬ÒòΪÔÚOracleÀïÃæÃ»ÓÐÒ»¸öÀàÐÍÈ¥½ÓÊÜÒ»¸ö½á¹û¼¯.Õâ¸öʱºòÎÒÃÇ¿ÉÒÔÉùÃ÷Óαê¶ÔÏóÈ¥½ÓÊÜËû.
PL/SQLÓαê:
A:·ÖÀà:
1:ÒþʽÓαê:·ÇÓû§Ã÷È·ÉùÃ÷¶ø²úÉúµÄÓαê. Äã¸ù±¾¿´²»µ½cursorÕâ¸ö¹Ø¼ü×Ö.
2:ÏÔʾÓαê:Óû§Ã÷ȷͨ¹ýcursor¹Ø¼ü×ÖÀ´ÉùÃ÷µÄÓαê.
B:ʲôÊÇÒþʽÓαê:
1:ʲôʱºò²úÉú:
»áÔÚÖ´ÐÐÈκκϷ¨µÄSQLÓï¾ä(DML---INSERT UPDATE DELETE DQL-----SELECT)ÖвúÉú.Ëû²»Ò»¶¨´æ·ÅÊý¾Ý.Ò²ÓпÉÄÜ´æ·Å¼Ç¼¼¯ËùÓ°ÏìµÄÐÐÊý.
Èç¹ûÖ´ÐÐSELECTÓï¾ä,Õâ¸öʱºòÓαê»á´æ·ÅÊý¾Ý.Èç¹ûÖ´ÐÐINSERT UPDATE DELETE»á´æ·Å¼Ç¼ӰÏìµÄÐÐÊý.
C:Ò
Ïà¹ØÎĵµ£º
CSDNÀïµÄÒ»¸öÅóÓÑÎʵ½ÁËÕâ¸öË÷Òý¸²¸ÇµÄ¸ÅÄî¡£ Õâ¸ö¸ÅÄîºÜСµÄ֪ʶµã£¬ÔÚÎÒµÄÂÛ̳ÀïÓнâÊÍ“”£¬²»¹ý×÷ΪOracle°æÖ÷£¬²»ÄÜÔÚ»ØÌûÀï¼ÓÉÏÍøÍâµÄµØÖ·Á´½Ó£¬ËùÒÔÕâÀïÔÚCSDNÀïÌûÉÏÒ»·Ý
±ÈÈçÓи´ºÏË÷ÒýΪ3¸ö×ֶΣºf1 + f2 + f3,ÇëÎÊ:
1: select f1, f2, f3, f4 from table where f1 = 'XX' and f2 = 'XX'. ......
ËäÈ»ÎÒÃÇÖªµÀÉ̵À¹îÒ²,ÕâÆªÎÄÕ»¹ÊÇÄܹ»ÈÃÎÒÃÇ´ÓijЩ½Ç¶ÈÉϹ۲졣±ÈÈçÅ·ÃËÓµ»¤¿ª·Å¼¼Êõ,Å·ÃËÒªÆÀ¼ÛOracleÓµÓÐMySQLºÍJavaËùÔì³ÉµÄÓ°Ïì,everything is politicalÒÑÈ»ÊÇÒ»Ìõ´ó·¹æÔòÁË£¬ÎÒÃÇ»¹ÊÇÄܹ»Ðá³öÕâ¸ö»Ï×ÓÏÂÃæÂôµÃ»¹ÊÇÀûÒæ¹Ï·ÖµÄÀϾÀ¸ð£¬×ܲ»ÄÜɶºÃʶ¼ÈÃÄãÃÀ¹úÀÐÕ¼ÁË¡£µ«ÊÇÎÒÏëÒ²Ö»ÊǸöʱ¼äÎÊÌ⣬ҲÐí±³ºóÍÆÊÖÒ ......
Ò»¡¢UTL_INADDR°ü»ñÈ¡ipµØÖ·
½ñÌìÓÐÅóÓÑÔÚMSNÉÏÎÊÎÒÈçºÎ»ñµÃÒѾÁ¬½ÓÓû§µÄIPµØÖ·¡£
ÎÒÃÇÖªµÀ£¬Í¨¹ýSYS_CONTEXTº¯Êý¿ÉÒÔ»ñµÃÕⲿ·ÖÐÅÏ¢£¬µ±Ç°Óû§µÄipµÈÐÅÏ¢¿ÉÒÔͨ¹ýÈçÏÂÃüÁîÇáÒ×»ñÈ¡£º
SQL> select sys_context('userenv','host') from dual;
SYS_CONTEXT('USERENV','HOST')
------------------------------ ......
ÈçºÎÕýÈ·ÀûÓÃRownumÀ´ÏÞÖÆ²éѯËù·µ»ØµÄÐÐÊý£¿
º¬Òå½âÊÍ£º
1¡¢rownumÊÇoracleϵͳ˳Ðò·ÖÅäΪ´Ó²éѯ·µ»ØµÄÐеıàºÅ£¬·µ»ØµÄµÚÒ»ÐзÖÅäµÄÊÇ1£¬µÚ¶þÐÐÊÇ2£¬
¡¡ ÒÀ´ËÀàÍÆ£¬Õâ¸öα×ֶοÉÒÔÓÃÓÚÏÞÖÆ²éѯ·µ»ØµÄ×ÜÐÐÊý¡£
2¡¢rownum²»ÄÜÒÔÈκλù±íµÄÃû³Æ×÷Ϊǰ׺¡£
ʹÓ÷½·¨£º
Ï ......
SqlÖÐÁ½¸ö“-”±íʾעÊ͵ĿªÊ¼¡£
Æ´½ÓÔËËã·û£º”||”,×¢Ò⣺ֻÓÐÔÚËùÓеÄÔËËã·ûΪnullʱ£¬Æ´½ÓµÄ½á¹ûÊÇnull¡£
±È½ÏÔËËã·ûÓÃÓڱȽÏÁ½¸öÖµ»ò±í´ïʽ£¬¸ø³öÒ»¸ö²¼¶ûÐ͵Ľá¹û true,false,null.
±È½ÏÔËËã·û£º
=
!= <> ^=
[not]in °üº¬
Any some ½«Ò»¸öÖµÓëÁбíÖеÄÿ¸öÖµ»òÕß ......