PL/SQL¿ª·¢Öж¯Ì¬SQLµÄʹÓ÷½·¨
ÄÚÈÝÕªÒª£ºÔÚPL/SQL¿ª·¢¹ý³ÌÖУ¬Ê¹ÓÃSQL£¬PL/SQL¿ÉÒÔʵÏִ󲿷ݵÄÐèÇ󣬵«ÊÇÔÚÄ³Ð©ÌØÊâµÄÇé¿öÏ£¬ÔÚPL/SQLÖÐʹÓñê×¼µÄSQLÓï¾ä»òDMLÓï¾ä²»ÄÜʵÏÖ×Ô¼ºµÄÐèÇ󣬱ÈÈçÐèÒª¶¯Ì¬½¨±í»òij¸ö²»È·¶¨µÄ²Ù×÷ÐèÒª¶¯Ì¬Ö´ÐС£Õâ¾ÍÐèҪʹÓö¯Ì¬SQLÀ´ÊµÏÖ¡£±¾ÎÄͨ¹ý¼¸¸öʵÀýÀ´ÏêϸµÄ½²½â¶¯Ì¬SQLµÄʹÓᣡ¡¡¡
¡¡¡¡±¾ÎÄÊÊÒ˶ÁÕß·¶Î§£ºOracle³õ¼¶£¬Öм¶
¡¡¡¡ÏµÍ³»·¾³£º
¡¡¡¡¡¡OS£ºwindows 2000 Professional (Ó¢Îİæ)
¡¡¡¡¡¡Oracle£º8.1.7.1.0
¡¡¡¡ÕýÎÄ£º
¡¡¡¡Ò»°ãµÄPL/SQL³ÌÐòÉè¼ÆÖУ¬ÔÚDMLºÍÊÂÎñ¿ØÖƵÄÓï¾äÖпÉÒÔÖ±½ÓʹÓÃSQL£¬µ«ÊÇDDLÓï¾ä¼°ÏµÍ³¿ØÖÆÓï¾äÈ´²»ÄÜÔÚPL/SQLÖÐÖ±½ÓʹÓã¬ÒªÏëʵÏÖÔÚPL/SQLÖÐʹÓÃDDLÓï¾ä¼°ÏµÍ³¿ØÖÆÓï¾ä£¬¿ÉÒÔͨ¹ýʹÓö¯Ì¬SQLÀ´ÊµÏÖ¡£
¡¡¡¡Ê×ÏÈÎÒÃÇÓ¦¸ÃÁ˽âʲôÊǶ¯Ì¬SQL£¬ÔÚOracleÊý¾Ý¿â¿ª·¢PL/SQL¿éÖÐÎÒÃÇʹÓõÄSQL·ÖΪ£º¾²Ì¬SQLÓï¾äºÍ¶¯Ì¬SQLÓï¾ä¡£Ëùν¾²Ì¬SQLÖ¸ÔÚPL/SQL¿éÖÐʹÓõÄSQLÓï¾äÔÚ±àÒëʱÊÇÃ÷È·µÄ£¬Ö´ÐеÄÊÇÈ·¶¨¶ÔÏó¡£¶ø¶¯Ì¬SQLÊÇÖ¸ÔÚPL/SQL¿é±àÒëʱSQLÓï¾äÊDz»È·¶¨µÄ£¬Èç¸ù¾ÝÓû§ÊäÈëµÄ²ÎÊýµÄ²»Í¬¶øÖ´Ðв»Í¬µÄ²Ù×÷¡£±àÒë³ÌÐò¶Ô¶¯Ì¬Óï¾ä²¿·Ö²»½øÐд¦Àí£¬Ö»ÊÇÔÚ³ÌÐòÔËÐÐʱ¶¯Ì¬µØ´´½¨Óï¾ä¡¢¶ÔÓï¾ä½øÐÐÓï·¨·ÖÎö²¢Ö´ÐиÃÓï¾ä¡£
¡¡¡¡OracleÖж¯Ì¬SQL¿ÉÒÔͨ¹ý±¾µØ¶¯Ì¬SQLÀ´Ö´ÐУ¬Ò²¿ÉÒÔͨ¹ýDBMS_SQL°üÀ´Ö´ÐС£ÏÂÃæ¾ÍÕâÁ½ÖÖÇé¿ö·Ö±ð½øÐÐ˵Ã÷£º
¡¡¡¡Ò»¡¢±¾µØ¶¯Ì¬SQL
¡¡¡¡±¾µØ¶¯Ì¬SQLÊÇʹÓÃEXECUTE IMMEDIATEÓï¾äÀ´ÊµÏֵġ£
¡¡¡¡1¡¢±¾µØ¶¯Ì¬SQLÖ´ÐÐDDLÓï¾ä£º
¡¡¡¡ÐèÇ󣺸ù¾ÝÓû§ÊäÈëµÄ±íÃû¼°×Ö¶ÎÃûµÈ²ÎÊý¶¯Ì¬½¨±í¡£
create or replace procedure proc_test
(
table_name in varchar2, --±íÃû
field1 in varchar2, --×Ö¶ÎÃû
datatype1 in varchar2, --×Ö¶ÎÀàÐÍ
field2 in varchar2, --×Ö¶ÎÃû
datatype2 in varchar2 --×Ö¶ÎÀàÐÍ
) as
str_sql varchar2(500);
begin
str_sql:=’create table ’||table_name||’(’||field1||’ ’||datatype1||’,’||field2||’ ’||datatype2||’)’;
execute immediate str_sql; --¶¯Ì¬Ö´ÐÐDDLÓï¾ä
exception
when others then
null;
end ;
¡¡¡¡ÒÔÉÏÊDZàÒëͨ¹ýµÄ´æ´¢¹ý³Ì´úÂë¡£ÏÂÃæÖ´Ðд洢¹ý³Ì¶¯Ì¬½¨±í¡£
SQL> execute proc_test(’dinya_te
Ïà¹ØÎĵµ£º
BackupEveryDay
ÿÌì½øÐÐÊý¾Ý¿âµÄ²îÒ챸·Ý
day
Declare @File Varchar(2000)
Set @File='E:\Databasebackup\njyc_data_diff.BAK'
Backup database njyc_data to Disk=@File with DIFFERENTIAL
WeekBackup
ÿÖܽøÐÐÒ»´ÎÊý¾Ý¿âµÄÍêÈ«±¸·Ý£¬±¸·ÝÎļþÃûΪµ±ÌìÈÕÆÚ £¨njyc_data_Äê_ÔÂ_ÈÕ£©
BackupAll
DECLARE @BackupFi ......
DECLARE @sql varchar(8000)
--ÏÂÃæÊÇɾ³ý15Ììǰ±¸·ÝÎļþµÄ´¦Àí
set @sql='Del E:\Databasebackup\'
@sql=@sql +rtrim(convert(varchar,getdate()-15,112))+'.bak'
Exec master..xp_cmdshell @sql
DECLARE @DelFile Varchar(256)
set ......
ÉêÃ÷¡£ÎÄÕ½ö´ú±í¸öÈ˹۵㣬ÓëËùÔÚ¹«Ë¾ÎÞÈκÎÁªÏµ¡£
1. ¸ÅÊö
ÍøÒ³¹ÒÂíÕâ¸ö»°ÌâÏëÀ´´ó¼Ò²¢²»Ä°Éú¡£ÎªÊ²Ã´ÓÐÕâô¶àµÄÍøÒ³ÉÏ´æÔÚ×ÅľÂíÈ¥¹¥»÷ÆÕͨÓû§£¿²»¿É·ñÈÏ£¬Ï൱һ²¿·ÖÍøÒ³Ô±¾¾ÍÊǶñÒâµÄ£ºÍøÒ³µÄ×÷Õß¹ÊÒâÔÚÉÏÃæ·ÅÉÏľÂí£¬È»ºóͨ¹ý¸÷ÖÖÊÖ¶ÎÒýÓÕÓû§È¥ä¯ÀÀ¡£µ«ÊǾø´ó¶àÊý±»¹ÒÂíµÄÍøÒ³Ô±¾ÊÇÕý³ ......
Àý×Ó£ºÕÒ³öÿ¸ö¸èÊÖÏúÁ¿×î¸ßµÄ3Ê׸è
create table singer_info
(
id int primary key identity(1,1),
name varchar(20),
song varchar(20),
amount int
)
insert into singer_info values('jay','aaa',1000)
insert into singer_info values('jay','bbb',2000)
insert into singer_info values('jay','cc ......
1¡¢PL
/SQL
Developer¼ÇסµÇ½ÃÜÂë
ÔÚʹÓÃPL
/SQL
Developerʱ£¬ÎªÁ˹¤×÷·½±ãÏ£ÍûPL
/SQL
Developer¼ÇסµÇ¼OracleµÄÓû§ÃûºÍÃÜÂ룻
ÉèÖ÷½·¨£ºPL
/SQL
Developer 7.1.4 ->tools->Preferences->Oracle->Logon History
£¬ “Store history”ÊÇĬÈϹ´Ñ¡µÄ£¬¹´ÉÏ ......