OCPÈÏÖ¤¿¼ÊÔÖ¸ÄÏ£¨10£©£ºÊ¹ÓÃPL/SQL½øÐÐOracle±à³Ì
1¡¢±à³ÌÓïÑÔÓëOracleÊý¾Ý¿â
1.1¡¢´æ´¢µÄÓëÄäÃûµÄPL/SQL³ÌÐò¿é
Óë´æ´¢µÄPL/SQL³ÌÐò¿éÏà±È£¬ÄäÃûµÄPL/SQL³ÌÐò¿éЧÂʽϵͣ¬´ËÍâÓÉÓÚ¿ÉÄÜÔÚ¶ą̀»úÆ÷Öй«²¼Ô´´úÂ룬»¹»áÒý·¢¹ÜÀíÎÊÌâ¡£
1.2¡¢PL/SQL¶ÔÏó
PL/SQL¶ÔÏó¾ßÓÐÏÂÁÐ5ÖÖÀàÐÍ£º
¹ý³Ì
º¯Êý
³ÌÐò°ü
³ÌÐò°üÖ÷Ìå
´¥·¢Æ÷
2¡¢¹ý³Ì¡¢º¯ÊýÒÔ¼°³ÌÐò°ü
2.1¡¢¹ý³ÌÓ뺯Êý
¹ý³Ì£¨Procedure£©ÊÇÒ»¸öÖ´ÐÐijЩ¶¯×÷µÄ´úÂë¿é¡£ÒªÔËÐÐÒ»¸ö¹ý³Ì£¬¼È¿ÉÒÔÔÚPL/SQL³ÌÐò¿éÄÚ²¿µ÷ÓÃÕâ¸ö¹ý³Ì£¬Ò²¿ÉÒÔʹÓý»»¥Ê½µÄEXECUTEÃüÁî¡£
º¯Êý£¨Function£©Óë¹ý³ÌµÄ¸ÅÄîÏàËÆ£¬µ«²¢²»¾ßÓÐOUTÐÍʵ²Î£¬²¢ÇÒÎÞ·¨Ê¹ÓÃEXECUTEÃüÁîÀ´µ÷Ó᣺¯ÊýÓ¦µ±Í¨¹ýRETURN·µ»ØÒ»¸öÖµ¡£
Èç¹ûʹÓõÄÊÇCREATEÃüÁî¶ø²»ÊÇCREATE OR REPLACEÃüÁÄÇôÔÚÖ¸¶¨¶ÔÏóÒÑ´æÔÚµÄÇé¿öϱØÐëÏÈɾ³ýÕâ¸ö¶ÔÏó¡£
º¯Êý£º
?[Copy to clipboard]View Code PLSQL
SQL> create or replace function odd_even(v1 number)
2 return varchar2
3 as
4 begin
5 if
6 mod(v1,2) = 0
7 then
8 return 'even';
9 else
10 return 'odd';
11 end if;
12 end odd_even;
13 /
Function created.
SQL> select odd_even(8) from dual;
ODD_EVEN(8)
-------------------------------------------------------------------
even
SQL> select odd_even(9) from dual;
ODD_EVEN(9)
-------------------------------------------------------------------
odd
¹ý³Ì£º
?[Copy to clipboard]View Code PLSQL
SQL> conn system/oracle
Connected.
SQL> create table integers (
2 C1 number(2),
3 C2 varchar2(5));
Table created.
SQL> create or replace procedure ins_ints(v1 in number)
2 as
3 begin
4 for i in 1..v1 loop
5 insert into integers values (i, odd_even(i));
6 end loop;
7 end ins_ints;
8 /
Procedure created.
SQL> execute ins_ints(5);
PL/SQL procedure successfully completed.
SQL> select * from integers;
C1 C2
---------- -----
1 odd
2 even
3 odd
4 even
5 odd
2.2¡¢³ÌÐò°ü
³ÌÐò°ü£¨Package£©Óɹ淶ºÍÖ÷ÌåÁ½¸ö¶ÔÏó×é³É¡£
ʹÓÃCREATE PACKAGEÃü
Ïà¹ØÎĵµ£º
´´½¨ºÍÅäÖÃASP.NET Session״̬Êý¾Ý¿â
ÔÚ»ùÓÚNLB£¨ÍøÂç¸ºÔØÆ½ºâ£©»·¾³ÏµÄASP.NET WebÓ¦ÓóÌÐò¿ª·¢£¬ÎÒÃÇÐèÒª½«Session´æ´¢ÔÚÊý¾Ý¿âÖй©¶à¸öWebÓ¦ÓóÌÐòµ÷Óã¬ÒÔÏÂΪÅäÖ÷½·¨¼°×¢ÒâÊÂÏî¡£
1.´´½¨ÓÃÓÚ´æ´¢ASP.NET SessionµÄÊý¾Ý¿â£¨Ô¶³Ì¡¢±¾µØ½Ô¿É£¬Ê¹ÓÃÊý¾Ý¿âÓû§Éí·ÝÈÏÖ¤£©
ÔÚWindows\Microsoft.NET\Framework/V2.0.507 ......
declare @p int
declare @p1 int
declare @count int
set @p=0
set @p1=10
set @count=2
if(@count<>0 or @count<>1)
set @p=@p1*@count-10
SELECT [t1].[userid], [t1].[username], [t1].[userorder]
from (
SELECT ROW_NUMBER() OVER (ORDER BY [t0].[userorder]) AS [ROW_NU ......
SQL code
´´½¨½ÇÉ«£¬Óû§£¬È¨ÏÞ
/*--ʾÀý˵Ã÷
ʾÀýÔÚÊý¾Ý¿âpubsÖд´½¨Ò»¸öÓµÓбíjobsµÄËùÓÐȨÏÞ¡¢ÓµÓбítitlesµÄSELECTȨÏ޵ĽÇÉ«r_test
Ëæºó´´½¨ÁËÒ»¸öµÇ¼l_test£¬È»ºóÔÚÊý¾Ý¿âpubsÖÐΪµÇ¼l_test´´½¨ÁËÓû§ÕË»§u_test
ͬʱ½«Óû§ÕË»§u_testÌí¼Óµ½½ÇÉ«r_testÖУ¬Ê¹Æäͨ¹ýȨÏ޼̳лñÈ¡ÁËÓë½ÇÉ«r_t ......
1.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖжÔ×ֶνøÐÐ null ÖµÅжϣ¬·ñÔò½«µ¼ÖÂÒýÇæ·ÅÆúʹÓÃË÷Òý¶ø½øÐÐÈ«±íɨÃ裬È磺
select id from t where num is null
¿ÉÒÔÔÚnumÉÏÉèÖÃĬÈÏÖµ0£¬È·±£±íÖÐnumÁÐûÓÐnullÖµ£¬È»ºóÕâÑù²éѯ£º
select id from t where num=0
2.Ó¦¾¡Á¿±ÜÃâÔÚ where ×Ó¾äÖÐʹÓÃ!=»ò<>²Ù×÷·û£¬·ñÔò½«ÒýÇæ·ÅÆúÊ ......
Ò»¡¢»ù´¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBac ......