PL/SQLѧϰ±Ê¼ÇÁù
1.´´½¨¹ý³Ì
create or replace procedure ¹ý³ÌÃû as
ÉùÃ÷Óï¾ä¶Î;
begin
Ö´ÐÐÓï¾ä¶Î;
exception
Òì³£´¦ÀíÓï¾ä¶Î;
end;
2. ´ø²ÎÊýµÄ¹ý³Ì
²ÎÊýÀàÐÍ3ÖÖ
in²ÎÊý£º¶ÁÈë²ÎÊý£¬Ö÷³ÌÐòÏò¹ý³Ì´«µÝ²ÎÊýÖµ
out²ÎÊý£ºÊä³ö²ÎÊý£¬¹ý³ÌÏòÖ÷³ÌÐò´«µÝ²ÎÊýÖµ
in out²ÎÊý£ºË«Ïò²ÎÊý
¶¨Òå´ø²ÎÊýµÄ¹ý³ÌʾÀý£º
Set serveroutput on
create or replace procedure scott.tempprocedure(
tempdeptno in scott.dept.deptno%type, --ÊäÈë²ÎÊý
tempdname out scott.dept.dname%type, --Êä³ö²ÎÊý
temploc in out scott.dept.loc%type) as -- Ë«Ïò²ÎÊý
loc1 scott.dept.loc%type;
dname1 scott.dept.dname%type;
begin
select loc into loc1
from scott.dept
where deptno=tempdeptno;
select dname into dname1
from scott.dept
where deptno=tempdeptno;
temploc:='µØÖ·:'||loc1;
tempdname:='ÐÕÃû'||dname1;
end;
ʹÓôø²ÎÊýµÄ¹ý³ÌʾÀý£º
set serveroutput on
declare
myno scott.dept.deptno%type;
mydname scott.dept.dname%type;
myloc scott.dept.loc%type;
begin
myno:=10;
mydname:='';
myloc:='';
scott.tempprocedure(myno,mydname,myloc);
dbms_output.put_line(myno);
dbms_output.put_line(mydname);
dbms_output.put_line(myloc);
end;
Ïà¹ØÎĵµ£º
¡¡ÎÒ¹«Ë¾ÔÚ×齨¾ÖÓòÍøÊ±£¬¿¼Âǵ½ÉÌÒµÆóÒµµÄÌØµã£¬×Ðϸ¿¼Á¿Á˹º¡¢Ïú¡¢´æÈý´ó»·½ÚÖз¢ÉúµÄ¸÷ÖÖÊý¾Ý¼°Æä´æ´¢ÎÊÌâºó£¬Ñ¡¶¨ÁËÒÔWindows 2000 ServerΪ²Ù×÷ϵͳ£¬SQL Server 2000ΪÊý¾Ý¿âƽ̨À´´î½¨¾ÖÓòÍøµÄÓ¦ÓÃϵͳµÄÈí¼þƽ̨£¬ÒÔÍøÏßÎªÔØÌ彫¹º¡¢Ïú¡¢´æµÈºËÐIJ¿ÃŵļÆËã»úͨ¹ý¾ÖÓòÍøÆ½Ì¨½ôÃܵØÁ¬½ÓÆðÀ´¡£ÕâÑù£¬¸÷¸öºËÐIJ¿ÃÅÿÌì ......
--´´½¨Á´½Ó·þÎñÆ÷
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', 'Ô¶³Ì·þÎñÆ÷Ãû»òipµØÖ· '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, 'Óû§Ãû ', 'ÃÜÂë '
--²éѯʾÀý
select * from ITSV.Êý¾Ý¿âÃû.dbo.±íÃû
--µ¼ÈëʾÀý
select * into ±í from ITSV.Êý¾Ý¿âÃû.dbo.±íÃû
--ÒÔºó²» ......
select Convert( varchar(20) , ʱ¼ä×Ö¶Î , ¸ñʽ ) from ±í È磺select Convert(varchar(20),LOGIN_DATE,112) from dbo.C_PARTY_CLIENT 100£ºJun 22 2009 12:00AM 101£º06/22/2009 102£º2009.06.22 103£º22/06/2009 104£º22.06.2009 105£º22-06-2009 106£º22
select Convert(varchar(20),<ʱ¼ä×Ö¶Î>,<¸ñʽ>) f ......
1.³£Á¿
¶¨ÒåÓï·¨¸ñʽ£º
³£Á¿Ãû constant ÀàÐͱêʶ·û [not null]:=Öµ;
È磺PI constant number(9):=3.1415;
2.»ù±¾Êý¾ÝÀàÐͱäÁ¿
»ù±¾Êý¾ÝÀàÐÍ
number Êý×ÖÐÍ
int ÕûÊýÐÍ
pls_integer ÕûÊýÐÍ£¬²úÉúÒç³öʱ³öÏÖ´íÎó
binary_integer ÕûÊýÐÍ£¬±íʾ´ø·ûºÅµÄÕûÊý
char ¶¨³¤×Ö·ûÐÍ£¬×î´ó255¸ö×Ö·û
varchar2 ±ä³¤× ......
ÓαêÊÇ´ÓÊý¾Ý¿âÖÐÌáÈ¡³öÀ´µÄÊý¾Ý£¬ÒÔÁÙʱ±íµÄÐÎʽ´æ·ÅÔÚÄÚ´æÖУ¬ÔÚÓαêÖÐÓÐÒ»¸öÊý¾ÝÖ¸Õ룬ÔÚ³õʼ״̬ÏÂÖ¸ÏòÊ׼Ǽ£¬ ÀûÓÃfetchÓï¾äÒÆ¶¯¸ÃÖ¸Õ룬´Ó¶ø¶ÔÓαêÖеÄÊý¾Ý½øÐи÷ÖÖ²Ù×÷¡£
1.¶¨ÒåÓαê
cursor ÓαêÃû is selectÓï¾ä;
2.´ò¿ªÓαê
open ÓαêÃû;
3.ÌáÈ¡ÓαêÊý¾Ý
fetch ÓαêÃû into ±äÁ¿Ãû1, ±äÁ¿Ãû2, ....;
»ò
......