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 ÊÇÒ»¸öδ±»¶¨
Ïà¹ØÎĵµ£º
SQLÔÚ½¨Á¢Óë·þÎñÆ÷µÄÁ¬½Óʱ³ö´íµÄ½â¾ö·½
ÔÚ½¨Á¢Óë·þÎñÆ÷µÄÁ¬½Óʱ³ö´í¡£ÔÚÁ¬½Óµ½ SQL Server 2005 ʱ£¬ÔÚĬÈϵÄÉèÖÃÏ SQL Server ²»ÔÊÐí½øÐÐÔ¶³ÌÁ¬½Ó¿ÉÄܻᵼÖ´Ëʧ°Ü¡£ (provider: ÃüÃû¹ÜµÀÌṩ³ÌÐò, error: 40 - ÎÞ·¨´ò¿ªµ½ SQL Server µÄÁ¬½Ó)
¸Õ¸Õ°²×°µÄÊý¾Ý¿âϵͳ£¬°´ÕÕÄ ......
update CHELIANG_MINGDAN set clmd_yunxuzaizhong = cast(clmd_yunxuzaizhong/1000 as decimal(14,4)) where clmd_yunxuzaizhong is not null
update CHELIANG_MINGDAN set clmd_carweight = cast(clmd_carweight/1000 as decimal(14,4)) where clmd_carweight is not null ......
SQL ÖÐµÄ substring º¯ÊýÊÇÓÃÀ´×¥³öÒ»¸öÀ¸Î»×ÊÁÏÖÐµÄÆäÖÐÒ»²¿·Ö¡£Õâ¸öº¯ÊýµÄÃû³ÆÔÚ²»Í¬µÄ×ÊÁÏ¿âÖв»ÍêȫһÑù£º
MySQL: SUBSTR(), SUBSTRING()
Oracle: SUBSTR()
SQL Server: SUBSTRING()
×î³£Óõ½µÄ·½Ê½ÈçÏ (ÔÚÕâÀïÎÒÃÇÓÃSUBSTR()ΪÀý)£º
SUBSTR(str,pos): ÓÉ<str>ÖУ¬Ñ¡³öËùÓдӵÚ<pos>λÖÿªÊ¼ ......
SQLServerºÍOracleÊÇ´ó¼Ò¾³£Óõ½µÄÊý¾Ý¿â£¬Ôڴ˸Ðл×÷Õß×ܽá³öÕâЩ³£Óú¯ÊýÒÔ¹©´ó¼Ò²Î¿¼¡£
Êýѧº¯Êý£º
¡¡1.¾ø¶ÔÖµ
¡¡¡¡ S:SELECT abs(-1) value
¡¡¡¡ O:SELECT abs(-1) value from dual
2.È¡Õû(´ó)
¡¡¡¡ S:SELECT ceiling(-1.001) value
¡¡¡¡ O:SELECT ceil(-1.001) value from dual
3.È¡Õû£¨Ð¡£© ......
1. ˵Ã÷£º¸´ÖƱí(Ö»¸´Öƽṹ£¬Ô´±íÃû£ºa£¬Ð±íÃû£ºb)
SQL: select * into b from a where 1<>1;
2. ˵Ã÷£º¿½±´±í(¿½±´Êý¾Ý£¬Ô´±íÃû£ºa£¬Ä¿±ê±íÃû£ºb)
SQL: insert into b(a, b, c) select d, e, f from b;
&nb ......