Oracle:pl/sql Òì³£´¦Àí[ת]
pl/sql ÌṩÁËÇ¿´ó¶øÁé»îµÄÊÖ¶ÎÀ´²¶×½ºÍ´¦Àí³ÌÐò²úÉúµÄÒì³££¬´Ó¶øÊ¹ oracle µÄÓû§Ô¶ÀëһЩÁîÈË·³ÄÕµÄ bug ¡£
pl/sql Òì³£´¦ÀíµÄ¸ÅÄîºÍÊõÓï
ÔÚ oracle ÖÐËùÓеĴíÎó¶¼±»ÈÏΪÊDz»Ó¦¸Ã·¢ÉúµÄÒì³£¡£Ò»¸öÒì³£¿ÉÄÜÊÇÒÔÏ 3 ÖÖÇé¿öµÄÒ»ÖÖ£º
u ÓÉϵͳ²úÉúµÄ´íÎ󣨓 out of memory ”»ò“ duplicate value in index ”£©
u Óû§ÐÐΪµ¼ÖµĴíÎó
u Ó¦ÓóÌÐò¸øÓû§µÄÒ»¸ö¾¯¸æ
pl/sql ÓÃÒ»ÖÖÒì³£¾ä±úµÄ½á¹¹À´²¶×½ºÍÏìÓ¦´íÎó¡£ÕýÊÇÓÐÁËÒì³£¾ä±úµÄ´æÔÚ£¬ÎÒÃÇÄܷܺ½±ãµÄ·ÖÀëÒì³£´¦Àí´úÂëÓë¿ÉÖ´ÐдúÂë¡£ÓëÏßÐԵĴúÂëÏà±È£¬ÎªÁË´¦ÀíÒì³££¬Òì³£¾ä±úÌṩÁËÒ»ÖÖÀàËÆÊ¼þÇý¶¯µÄģʽ£»»»¾ä»°Ëµ£¬¾ÍÊDz»¹ÜÒ»ÖÖÌØ¶¨µÄ´íÎóÔÚºÎʱºÎµØ·¢Éú£¬Ëü¶¼½«±»Í¬Ò»¸ö´úÂë´¦Àí¡£
µ±Ò»¸ö´íÎó³öÏÖºó£¬ÎÞÂÛËüÊÇϵͳ»¹ÊdzÌÐò²úÉúµÄ£¬¶¼½«µ¼ÖÂÒ»¸öÒì³£¡£Ö®ºó£¬¿ÉÖ´ÐгÌÐò±»Öжϣ¬¿ØÖÆÈ¨×ªÒƸøÒì³£´¦Àí´úÂë¡£´¦ÀíÍêÒì³£ºó£¬³ÌÐò½«²»»á»Øµ½ÏÈǰ±»ÖжϵÄλÖã¬Ïà·´µÄ£¬¿ØÖÆÈ¨±»½»¸øÁ˵±Ç°³ÌÐòµÄÍâΧģ¿é£¨¿ÉÄÜÊdzÌÐò£¬Ò²¿ÉÄÜÊÇϵͳ£©¡£
procedure jimmy
is
new_value varchar(35)
begin
|--------new_value:=old_value || ‘-new’;
| if new_value like ‘like%’
| then
| …..
| end if;
| exception
|----- à when value_error
then
…..
end;
ÒòΪ old_value ÊÇÒ»¸öδ±»¶¨
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
SQLÔÚ½¨Á¢Óë·þÎñÆ÷µÄÁ¬½Óʱ³ö´íµÄ½â¾ö·½
ÔÚ½¨Á¢Óë·þÎñÆ÷µÄÁ¬½Óʱ³ö´í¡£ÔÚÁ¬½Óµ½ SQL Server 2005 ʱ£¬ÔÚĬÈϵÄÉèÖÃÏ SQL Server ²»ÔÊÐí½øÐÐÔ¶³ÌÁ¬½Ó¿ÉÄܻᵼÖ´Ëʧ°Ü¡£ (provider: ÃüÃû¹ÜµÀÌṩ³ÌÐò, error: 40 - ÎÞ·¨´ò¿ªµ½ SQL Server µÄÁ¬½Ó)
¸Õ¸Õ°²×°µÄÊý¾Ý¿âϵͳ£¬°´ÕÕÄ ......
Ò»¡¢ÔÚDelphi7ÖÐÁ¬½ÓMS SQL Server 2000µÄ·½·¨¡£
¸Õ¿ªÊ¼Ê±½çÃæÈçÏ£ºÌí¼Ó4¸ö¿Ø¼þ¡£
ÉèÖÿؼþÊôÐÔ¹ý³Ì£º
1¡¢ADOConnection1ÉèÖÃ
1£©Ë«»÷ADOConnection1£¬½øÐÐÉèÖÃÁ¬½Ó×Ö·û´®£¨×÷ÓÃÊÇ£ºÑ¡È¡Á¬½ÓÇý¶¯·½Ê½ºÍÁ¬½ÓµÄÊý¾Ý¿âÉèÖã©¡£¹ý³ÌÈçÏÂͼËùʾ£º
2¡¢ADOQuery1ÉèÖãº
1£©ADOQuery1.connectionÊôÐÔΪADOConnection1; ......
--²é¿´CPUÀûÓÃÂÊ
-- CREATE PROCEDURE sp_GetTop10_CPU () AS
BEGIN
SET NOCOUNT ON
DECLARE @cinterval char(8)
DECLARE @interval int
SET @cinterval = '00:00:10'
CREATE TABLE #thread
(
RUN INT NOT NULL,
SPI ......
Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......