Oracle PL/SQLÈëÃÅÖ®¿®Êö
Ò»¡¢PL/SQL³öÏÖµÄÄ¿µÄ
¡¡¡¡½á¹¹»¯²éѯÓïÑÔ(Structured Query
Language£¬¼ò³ÆSQL)ÊÇÓÃÀ´·ÃÎʹØϵÐÍÊý¾Ý¿âÒ»ÖÖͨÓÃÓïÑÔ£¬ËüÊôÓÚµÚËÄ´úÓïÑÔ£¨4GL£©£¬ÆäÖ´ÐÐÌصãÊǷǹý³Ì»¯£¬¼´²»ÓÃÖ¸Ã÷Ö´ÐеľßÌå·½·¨ºÍ;
¾¶£¬¶øÊǼòµ¥µÄµ÷ÓÃÏàÓ¦Óï¾äÀ´Ö±½ÓÈ¡µÃ½á¹û¼´¿É¡£ÏÔÈ»£¬ÕâÖÖ²»¹Ø×¢ÈκÎʵÏÖϸ½ÚµÄÓïÑÔ¶ÔÓÚ¿ª·¢ÕßÀ´ËµÓÐ׿«´óµÄ±ãÀû¡£
È»¶ø£¬¶ÔÓÚÓÐЩ¸´ÔÓµÄÒµÎñÁ÷³ÌÓÖÒªÇóÏàÓ¦µÄ³ÌÐòÀ´ÃèÊö£¬ÄÇô4GL¾ÍÓÐЩÎÞÄÜΪÁ¦ÁË¡£PL/SQLµÄ³öÏÖÕýÊÇΪÁ˽â¾öÕâÒ»ÎÊÌ⣬PL/SQLÊÇÒ»ÖÖ¹ý³Ì»¯
ÓïÑÔ£¬ÊôÓÚµÚÈý´úÓïÑÔ£¬ËüÓëC,C++,JavaµÈÓïÑÔÒ»Ñù¹Ø×¢ÓÚ´¦Àíϸ½Ú£¬Òò´Ë¿ÉÒÔÓÃÀ´ÊµÏֱȽϸ´ÔÓµÄÒµÎñÂß¼¡£
¡¡¡¡±¾½Ì³Ì·ÖÁ½²¿·Ö£¬µÚÒ»²¿·ÖÖ÷Òª¶ÔPL/SQLµÄ±à³Ì»ù´¡½øÐÐÌÖÂÛ£¬µÚ¶þ²¿·Ö½áºÏÒ»¸ö°¸ÀýÀ´½²½âPL/SQL±à³Ì¡£Ï£Íû¶ÁÕßÔĶÁ±¾ÎĺóÄܹ»¶ÔPL/SQL±à³ÌÓÐÒ»¸ö×ÜÌåÉϵÄÈÏʶ£¬Îª½ñºóÉîÈëPL/SQL±à³Ì´òÏÂÒ»¸ö»ù´¡¡£
¡¡¡¡¶þ¡¢PL/SQL±à³Ì»ù´¡
¡¡¡¡ÕÆÎÕÒ»Ãűà³ÌÓïÑÔÊ×ÒªÊÇÒªÁ˽âÆä»ù±¾µÄÓï·¨½á¹¹£¬¼´³ÌÐò½á¹¹¡¢Êý¾ÝÀàÐÍ¡¢¿ØÖƽṹÒÔ¼°ÏàÓ¦µÄÄÚǶº¯Êý£¨»ò±à³Ì½Ó¿Ú£©¡£
¡¡¡¡1¡¢PL/SQL³ÌÐò½á¹¹
¡¡¡¡PL/SQL³ÌÐò¶¼ÊÇÒԿ飨block£©Îª»ù±¾µ¥Î»¡£ÈçÏÂËùʾΪһ¶ÎÍêÕûµÄPL/SQL¿é£º
/*ÉùÃ÷²¿·Ö£¬ÒÔdeclare¿ªÍ·*/
declare
v_id integer;
v_name varchar(20);
cursor c_emp is select * from employee where emp_id=3;
/*Ö´Ðв¿·Ö£¬ÒÔbegin¿ªÍ·*/
begin
¡¡open c_emp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡--´ò¿ªÓαê
¡¡loop
¡¡¡¡fetch c_emp into v_id,v_name;¡¡¡¡--´ÓÓαêÈ¡Êý¾Ý
¡¡¡¡exit when c_emp%notfound ;
¡¡end loop ;
close c_emp;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ --¹Ø±ÕÓαê
dbms_output.PUT_LINE(v_name);
/*Òì³£´¦Àí²¿·Ö£¬ÒÔexception¿ªÊ¼*/
exception
¡¡when no_data_found then
¡¡¡¡dbms_output.PUT_LINE('ûÓÐÊý¾Ý');
end ;
¡¡
¡¡´ÓÉÏÃæµÄPL/SQL³ÌÐò¶Î¿´³ö£¬Õû¸öPL/SQL¿é·ÖÈý²¿·Ö£ºÉùÃ÷²¿·Ö£¨ÓÃdeclare¿ªÍ·£©¡¢Ö´Ðв¿·Ö£¨ÒÔbegin¿ªÍ·£©ºÍÒì³£´¦Àí²¿·Ö£¨ÒÔ
exception¿ªÍ·£©¡£ÆäÖÐÖ´Ðв¿·ÖÊDZØÐëµÄ£¬ÆäËûÁ½¸ö²¿·Ö¿ÉÑ¡¡£ÎÞÂÛPL/SQL³ÌÐò¶ÎµÄ´úÂëÁ¿Óжà´ó£¬Æä»ù±¾½á¹¹¾ÍÊÇÓÉÕâÈý²¿·Ö×é³É¡£
¡¡¡¡2¡¢±äÁ¿ÉùÃ÷Ó븳ֵ
¡¡¡¡PL/SQLÖ÷ÒªÓÃÓÚÊý¾Ý¿â±à³Ì£¬ËùÒÔÆäËùÓÐÊý¾ÝÀàÐ͸úoracleÊý¾Ý¿âÀïµÄ×Ö¶ÎÀàÐÍÊÇÒ»Ò»¶ÔÓ¦µÄ£¬´óÌå·ÖΪÊý×ÖÐÍ¡¢²¼¶ûÐÍ¡¢×Ö·ûÐͺÍÈÕÆÚÐÍ¡£Îª·½±ãÀí½âºóÃæµÄÀý³Ì£¬ÕâÀï¼òµ¥½éÉÜÁ½ÖÖ³£ÓÃÊý¾ÝÀàÐÍ£ºnumber¡¢varchar2¡£
¡¡¡¡ number
¡¡¡¡ÓÃÀ´´æ´¢ÕûÊýºÍ¸¡µãÊý¡£·¶Î§Îª£
Ïà¹ØÎĵµ£º
ÉêÃ÷oracleº¯Êý£¬¼°Æä½á¹û¼¯½á¹¹
½á¹û¼¯±ØÐëΪȫ¾ÖµÄ¡¢table of ²»ÄÜÓÃindex by
CREATE OR REPLACE TYPE EMPARRAY is object (corporationId number)£»
CREATE OR REPLACE TYPE EMPARRAY2 is table of EMPARRAY£»
create or replace function func_empl return sys_refcursor is
Result sys_refcursor;
......
Ò»¡¢ÔÚPLSQLÖд´½¨±í£º
create table HWQY.TEST
(
CARNO VARCHAR2(30),
CARINFOID NUMBER
)
¶þ¡¢ÔÚPLSQLÖд´½¨´æ´¢¹ý³Ì£º
create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
insert into test(test ......
½²½âSQL ServerÖÐÈÝÒ×»ìÏýµÄÊý¾ÝÀàÐÍ
(1)char¡¢varchar¡¢textºÍnchar¡¢nvarchar¡¢ntext
¡¡¡¡charºÍvarcharµÄ³¤¶È¶¼ÔÚ1µ½8000Ö®¼ä£¬ËüÃǵÄÇø±ðÔÚÓÚcharÊǶ¨³¤×Ö·ûÊý¾Ý£¬¶øvarcharÊDZ䳤×Ö·ûÊý¾Ý¡£Ëùν¶¨³¤¾ÍÊdz¤¶È¹Ì¶¨µÄ£¬µ±ÊäÈëµÄÊý¾Ý³¤¶ÈûÓдﵽָ¶¨µÄ³¤¶Èʱ½«×Ô¶¯ÒÔÓ¢ÎÄ¿Õ¸ñÔÚÆäºóÃæÌî³ä£¬Ê¹³¤¶È´ïµ½ÏàÓ¦ ......
ÈçºÎ°ÑAccessת³ÉSQL ServerµÄ·½·¨½éÉÜ
ºÜ¶àÅóÓÑÏëÓÃSQL 2000Êý¾Ý¿âµÄ±à³Ì·½·¨£¬µ«ÊÇÈ´ÓÖ¿àÓÚ×Ô¼ºÊÇѧAccessµÄ£¬¶ÔSQLÖ»ÊÇÒ»µãµãµÄÁ˽â¶øÒÑ£¬ÕâÀïÎÒ¸ø´ó¼ÒÌṩÒÔϲο¼---½«Accessת»¯³ÉSQL 2000µÄ·½·¨ºÍ×¢ÒâÊÂÏî¡£Ê×ÏÈ£¬ÎÒ˵µÄÊÇÔÚAccess 2000£¬SQL 2000Ö®¼äת»»£¬ÆäËûµÄÎÒÒ²»¹Ã»Óг¢ÊÔ¹ý£¬Ï£ ......
¶ÔÓÚ·þÎñÆ÷ÉÏÊý¾ÝµÄ±¸·Ý¹¤×÷ÊÇÍø¹ÜÔ±ÈÕ³£¹¤×÷ÖÐ×îÖØÒªµÄ¹¤×÷Ö®Ò»£¬SQLServerAgent·þÎñʹµÃÎÒÃÇ¿ÉÒÔÓÃSQLÉϵēÊý¾Ý¿âά»¤¼Æ»®”¹¦
ÄÜÀ´×Ô¶¯±¸·ÝÊý¾Ý£¬µ«×î½üÎÒ·¢ÏÖ·þÎñÆ÷ÉÏSQLServerAgent·þÎñÎÞ·¨Æô¶¯ÁË£¬»ØÏë×î½üËù×öµÄ²Ù×÷£¬ÔÀ´ÊÇÒòΪÎÒ°ÑSQLÖÐ
Builtin/AdministratorsÕâ¸öÕʺŵķþÎñÆ÷·ÃÎÊȨÏÞ½ûÖ¹ ......