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´íÎó
£²£º·ÇÔ¤¶¨ÒåÒì³£ ÓÃÓÚ´¦ÀíÔ¤¶¨ÒåÒì³£Ëù²»ÄÜ´¦ÀíµÄOracle´íÎó
£³£º×Ô¶¨ÒåÒì³£ ÓÃÓÚ´¦ÀíÓÚOracle´íÎóÎÞ¹ØµÄÆäËûÇé¿ö
Òì³£´¦Àí²¿·ÖÊÇÒԹؼü×ÖEXCEPTION¿ªÊ¼µÄ£¬Óï·¨È ......
ÉêÃ÷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 ......
(1)¹ØÓÚ´æ´¢¹ý³Ì·µ»ØÖµÎÊÌ⣨output,ruturn£©
output´æ´¢¹ý³Ì£º
alter proc usp_update
@count int output
as
set @count=(select count(*) from stu)
return´æ´¢¹ý³Ì£º
alter proc usp_update
as
declare @count int
set @count=(select count(*) from stu)
r ......
1¡¢PL/SQL
Developer¼ÇסµÇ½ÃÜÂë
ÔÚʹÓÃPL/SQL
Developerʱ£¬ÎªÁ˹¤×÷·½±ãÏ£ÍûPL/SQL
Developer¼ÇסµÇ¼OracleµÄÓû§ÃûºÍÃÜÂ룻
ÉèÖ÷½·¨£ºPL/SQL
Developer 7.1.2
->tools->Preferences->Oracle->Logon History £¬ “Store
history”ÊÇĬÈϹ´Ñ¡µÄ£¬¹´ÉÏ&ldqu ......