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Ãü
Ïà¹ØÎĵµ£º
1.Ê×ÏÈÒªÖªµÀʲôÊÇORACLEµÄ¿Í»§¶Ë£º
Oracle Instant client ÊÇoracleÌṩµÄ¼ò±ã¿Í»§¶Ë, Ö§³Ö¶àÖÖÆ½Ì¨. ¿É´ÓoracleÍøÕ¾ÏÂÔØ, ÏÂÔØµØÖ·Îª
http://www.oracle.com/technology/tech/oci/instantclient/index.html
ÕâʱÄã°´¸ölibaioµÄ¿â¾Í¿ÉÒÔÁË¡£
2. [root@localhost sdk]# ./occidml
./occidml: error while loading sh ......
DATENAME([Year],
dbo.reservation.begintime) + N'Äê' + CAST(DATEPART([Month],
dbo.reservation.begintime) AS varchar) + N'ÔÂ' + DATENAME([Day],
dbo.reservation.begintime) + N'ÈÕ' + DATENAME([Hour], dbo.r ......
SQL code
´´½¨½ÇÉ«£¬Óû§£¬È¨ÏÞ
/*--ʾÀý˵Ã÷
ʾÀýÔÚÊý¾Ý¿âpubsÖд´½¨Ò»¸öÓµÓбíjobsµÄËùÓÐȨÏÞ¡¢ÓµÓбítitlesµÄSELECTȨÏ޵ĽÇÉ«r_test
Ëæºó´´½¨ÁËÒ»¸öµÇ¼l_test£¬È»ºóÔÚÊý¾Ý¿âpubsÖÐΪµÇ¼l_test´´½¨ÁËÓû§ÕË»§u_test
ͬʱ½«Óû§ÕË»§u_testÌí¼Óµ½½ÇÉ«r_testÖУ¬Ê¹Æäͨ¹ýȨÏ޼̳лñÈ¡ÁËÓë½ÇÉ«r_t ......
Ò»¡¢»ù´¡
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 ......
×òÍí£¬µ½Î¢Èí¹Ù·½ÏÂÁËÒ»¸ö32°æ±¾µÄTrial°æ±¾¡£ÎļþÃûΪSQLFULL_x86_ENU.exe¡£Îļþ´óСΪ1.30G×óÓÒ¡£ÒòΪֻÓÐ32λһ¸ö°æ
±¾£¬±ÈSQL Server 2008ÄǸö3GµÄҪС¶àÁË¡£ºÇºÇ¡£
http://www.microsoft.com/sqlserver/2008/en/us/R2Downloads.aspx
ÏÂ
ÔØÍê³Éºó£¬ÏÈÐ¶ÔØÔÀ´µÄSQL Server 2008¡¡sp2,½á¹ûÕûÕûÔËÐÐÁËÁ½¸ ......