ÈÝÒ׺öÊÓµÄoracleº¯ÊýÎÊÌâ Êý¾ÝÀàÐÍ
×î½üʼÖÕ±»Êý¾Ý¿âÎÊÌâÀ§ÈÅ£¬³öÓÚÏîĿӦÓÃÔÒò£¬¶¨ÒåÁËһЩoracle×Ô¶¨Ò庯Êý(User Defined function),ÓÃÓÚÔÚʵ¼Ê²éѯSQLÓï¾äÖе÷Óã¬Ä¿µÄÊÇΪÁ˼ò»¯SQLÓï¾äµÄ¸´ÔÓ¶È¡£Êµ¼ÊʹÓÃÖз¢ÏÖ£¬ÕâЩº¯Êý»á³öÏÖÒ»¸öĪÃûÆæÃîµÄÎÊÌ⣬ÏÈÉÏʵÀý:
CREATE OR REPLACE FUNCTION "GETSINGLEUSER" --·µ»ØµÚÒ»¸ö×Ö·û´®
(sStr in nvarchar2)
return nvarchar2
as
sReturn nvarchar2(50);
begin
if instr(sStr,',') > 0 then
sReturn := SUBSTR(sStr,1,instr(sStr,',') - 1);
else
sReturn := sStr;
end if;
return sReturn;
exception
when others then
return 'error';
end;
ÕâÊÇÆäÖÐÒ»¸öº¯Êý£¬¹¦Äܼܺòµ¥¾ÍÊÇÈ¡,·Ö¸ôµÄ¶à¸ö´®¼¯ÖеĵÚÒ»¸öÔªËØ·µ»Ø£¬µ«ÊÇÔÚʵ¼ÊSQLÓï¾äÖÐʹÓÃÖз¢ÏÖ£¬Èç¹û²éѯ·µ»ØÐÐÊý³¬¹ý100ÐУ¬100ÐкóµÄ¼Ç¼Öк¯ÊýûÓÐÖ´Ðнá¹û£¨¿ÉÅųý´«Èë²ÎÊýÎÊÌ⣩¡£¼ûͼ
Ó¦Óú¯ÊýGETSINGLEUSER ½øÐвéѯij±íijÁÐÊý¾Ýʱ£¬100ÐкóµÄ¼Ç¼Ã÷Ã÷ÊÇÓÐÖµµÄ£¬¶øÇÒÔÚº¯ÊýÌåÖÐÈç¹û³öÏÖÒì³£Ò²»áÓзµ»ØÖµerror,µ«ÊÇʵ¼ÊЧ¹û¾ÍÏñ100ÐеļǼûÓÐÖ´ÐйýÒ»Ñù¡£ÎªÊ²Ã´ÄØ£¿ÆäʵÕâ¸öÎÊÌâµ½ÏÖÔÚÎÒҲûÓÐÍêÈ«¸ãÃ÷°×¡£Ö»ÊÇ×Ô¼º·´¸´²âÊÔʵÑéºó£¬¸Ð¾õÓëÊý¾ÝÀàÐÍÓÐÒ»¶¨¹ØÏµ£¬Îҵĺ¯ÊýÈë¿Ú²ÎÊýÉùÃ÷ÀàÐÍΪ:nvarchar2,¶øÊµ¼Ê²éѯÖÐÒýÓÃÁе͍ÒåÈçÏÂͼ£¬ÊÇcharÀàÐÍ£º
ËùÒÔÔÚº¯Êýµ÷Óô¦¾Í²ÉÈ¡Á˽«²ÎÊýÇ¿ÖÆ×ª»»ÎªÈë¿ÚÀàÐÍ£º
½á¹ûÎÊÌâÏûʧ£¬±¾ÎÄÖ»ÄÜ˵Ã÷¸ÃÎÊÌâµÄ½â¾ö·½·¨£¬µ«È´²»ÄÜÍêȫ˵Ã÷³ÉÒò£¬ÒÔ¼°ÀàËÆÎªÊ²Ã´ÊÇ100ÐÐÄØµÈÎÊÌâ¡£
Ïà¹ØÎĵµ£º
-- ²éѯij±íµÄÊý¾Ý×Öµä
SELECT A.TABLE_NAME AS "±íÃû",A.COLUMN_NAME AS "×Ö¶ÎÃû",
DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),
A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as "×Ö¶ÎÀàÐÍ1",A.DATA_TYPE AS "×Ö¶Î ......
SQLÊÇÓÃÓÚ·ÃÎÊORACLEÊý¾Ý¿âµÄÓïÑÔ£¬PL/SQLÀ©Õ¹ºÍ¼ÓÇ¿ÁËSQLµÄ¹¦ÄÜ£¬Ëü ͬʱÒýÈëÁ˸üÇ¿µÄ³ÌÐòÂß¼¡£ PL/SQLÖ§³ÖDMLÃüÁîºÍSQLµÄÊÂÎñ¿ØÖÆÓï¾ä¡£DDLÔÚPL/SQLÖв»±»Ö§³Ö£¬Õâ¾ÍÒâζ×÷ÔÚPL/SQL³ÌÐò¿éÖв»ÄÜ´´½¨±í»òÆäËûÈκζÔÏ󡣽Ϻà µÄPL/SQL³ÌÐòÉè¼ÆÊÇÔÚPL/SQL¿éÖÐʹÓÃÏóDBMS_SQLÕâÑùµÄÄÚ½¨°ü»òÖ´ÐÐEXECUTE IMMEDIATEÃüÁÁ¢¶¯Ì ......
Oracle/PLSQL: Lpad Function£º
http://www.techonthenet.com/oracle/functions/lpad.php
RPAD and LPAD [Oracle SQL]£º
http://www.adp-gmbh.ch/ora/sql/rpad.html
ÒýÊö
In Oracle/PLSQL, the lpad function pads the left-side of a string with a specific set of characters.
The syntax for the lpad funct ......
µÚÒ»²½:ÏÂÔØ°²×°Oracle 10g Release 2 ¿Í»§¶ËÈí¼þ,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
ÏÂÔØºó°²×°
µÚ¶þ²½:ÏÂÔØ°²×°Oracle ODAC,ÏÂÔØÁ¬½ÓÊÇ:
http://download.oracle.com/otn/other/ole-oo4o/ODAC1020221.exe
µÚÈý²½: ÖØÆôMS SQ ......