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µÄÌåϵºÜÅÓ´ó£¬ÒªÑ§Ï°Ëü£¬Ê×ÏÈÒªÁ˽âoracleµÄ¿ò¼Ü¡£ÔÚÕâÀ¼òÒªµÄ½²Ò»ÏÂoracleµÄ¼Ü¹¹£¬ÈóõѧÕ߶ÔoracleÓÐÒ»¸öÕûÌåµÄÈÏʶ¡£
¡¡¡¡1¡¢ÎïÀí½á¹¹£¨ÓÉ¿ØÖÆÎļþ¡¢Êý¾ÝÎļþ¡¢ÖØ×öÈÕÖ¾Îļþ¡¢²ÎÊýÎļþ¡¢¹éµµÎļþ¡¢ÃÜÂëÎļþ×é³É£©
¡¡¡¡¿ØÖÆÎļþ£º°üº¬Î¬»¤ºÍÑéÖ¤Êý¾Ý¿âÍêÕûÐԵıØÒªÐÅÏ¢¡¢ÀýÈ磬¿ØÖÆÎļþÓÃÓÚʶ±ðÊý¾ÝÎļ ......
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[pr_xls_to_tb]
@path varchar(200),--EXCEL·¾¶Ãû
@tbName varchar(30),--±íÃû
@stName varchar(30) --excelÖÐÒª¶ÁµÄSHEETÃû
as
declare @sql varchar(500),--×îºóÒªÖ´ÐеÄSQL
@stName_Real varchar(35),--ÕæÕýµÄSHEETÃû
......
½²½âSQL ServerÖÐÈÝÒ×»ìÏýµÄÊý¾ÝÀàÐÍ
(1)char¡¢varchar¡¢textºÍnchar¡¢nvarchar¡¢ntext
¡¡¡¡charºÍvarcharµÄ³¤¶È¶¼ÔÚ1µ½8000Ö®¼ä£¬ËüÃǵÄÇø±ðÔÚÓÚcharÊǶ¨³¤×Ö·ûÊý¾Ý£¬¶øvarcharÊDZ䳤×Ö·ûÊý¾Ý¡£Ëùν¶¨³¤¾ÍÊdz¤¶È¹Ì¶¨µÄ£¬µ±ÊäÈëµÄÊý¾Ý³¤¶ÈûÓдﵽָ¶¨µÄ³¤¶Èʱ½«×Ô¶¯ÒÔÓ¢ÎÄ¿Õ¸ñÔÚÆäºóÃæÌî³ä£¬Ê¹³¤¶È´ïµ½ÏàÓ¦ ......
ÈÕÆÚÀàÐ͸ÅÊö
SQL ServerÖеÄÈÕÆÚÀàÐÍ°üÀ¨datetimeºÍsmalldatetime£¬½öÄÜ´¦Àí¿ÉÒÔʶ±ðΪ1753Äê¡«9999Äê¼äµÄÈÕÆÚµÄÖµ£¬Ã»Óе¥¶ÀµÄÈÕÆÚÐÍ»òʱ¼äÐÍ¡£
1£®datetime
datetimeÀàÐÍ´¦Àí´Ó1753Äê1ÔÂ1ÈÕ¡«9999Äê12ÔÂ31ÈÕµÄÈÕÆÚºÍʱ¼äÊý¾Ý£¬¾«È·¶ÈΪ°Ù·ÖÖ®ÈýÃë¡£
¼´£º¶ÔÓÚ0.000¡«0.001¡¢0.009µÄÈÕÆÚÖµ£¬µ÷ÕûΪ0.000£»¶ÔÓÚ ......