SQL Óë ORACLE µÄ±È½Ï (ת)
01¡¢SQLÓëORACLEµÄÄÚ´æ·ÖÅä
ORACLEµÄÄÚ´æ·ÖÅä´ó²¿·ÖÊÇÓÉINIT.ORAÀ´¾ö¶¨µÄ£¬Ò»¸öÊý¾Ý¿âʵÀý¿ÉÒÔÓÐNÖÖ·ÖÅä·½°¸£¬²»Í¬µÄÓ¦Óã¨OLTP¡¢OLAP£©ËüµÄÅäÖÃÊÇÓвàÖØµÄ¡£ SQL¸ÅÀ¨ÆðÀ´Ëµ£¬Ö»ÓÐÁ½ÖÖÄÚ´æ·ÖÅ䷽ʽ£º¶¯Ì¬ÄÚ´æ·ÖÅäÓ뾲̬ÄÚ´æ·ÖÅ䣬¶¯Ì¬ÄÚ´æ·ÖÅä³äÐíSQL×Ô¼ºµ÷ÕûÐèÒªµÄÄڴ棬¾²Ì¬ÄÚ´æ·ÖÅäÏÞÖÆÁËSQL¶ÔÄÚ´æµÄʹ Óá£
002¡¢SQLÓëORACLEµÄÎïÀí½á¹¹
×ܵý²£¬ËüÃǵÄÎïÀí½á¹¹ºÜÏàËÆ£¬SQLµÄÊý¾Ý¿âÏ൱ÓÚORACLEµÄģʽ£¨·½°¸£©£¬SQLµÄÎļþ×éÏ൱ÓÚORACLEµÄ±í¿Õ¼ä£¬×÷Óö¼ÊǾùºâDISK I/O£¬SQL´´½¨±íʱ£¬¿ÉÒÔÖ¸¶¨±íÔÚ²»Í¬µÄÎļþ×飬ORACLEÔò¿ÉÒÔÖ¸¶¨²»Í¬µÄ±í¿Õ¼ä¡£
CREATE TABLE A001£¨ID DECIMAL£¨8£¬0£©£© ON [Îļþ×é]
--------------------------------------------------------------------------------------------
CREATE TABLE A001£¨ID NUMBER£¨8£¬0£©£© TABLESPACE ±í¿Õ¼ä
×¢£ºÒÔºóËùÓÐʾÀý£¬ÏÈSQL£¬ºóORACLE
003¡¢SQLÓëORACLEµÄÈÕ־ģʽ
SQL¶ÔÈÕÖ¾µÄ¿ØÖÆÓÐÈýÖÖ»Ö¸´Ä£ÐÍ£ºSIMPLE¡¢FULL¡¢BULK-LOGGED£»ORACLE¶ÔÈÕÖ¾µÄ¿ØÖÆÓжþÖÖģʽ£º NOARCHIVELOG¡¢ARCHIVELOG¡£SQLµÄSIMPLEÏ൱ÓÚORACLEµÄNOARCHIVELOG£¬FULLÏ൱ÓÚ ARCHIVELOG£¬BULK-LOGGEDÏ൱ÓÚORACLE´óÅúÁ¿Êý¾Ý×°ÔØÊ±µÄNOLOGGING¡£¾³£ÓÐÍøÓѱ§Ô¹SQLµÄÈÕÖ¾ÅÓ´óÎÞ±ÈÇÒû·¨´¦ Àí£¬×î¼òµ¥µÄ°ì·¨¾ÍÊÇÏÈÇл»µ½SIMPLEģʽ£¬ÊÕËõÊý¾Ý¿âºóÔÙÇл»µ½FULL£¬¼ÇסÇл»µ½FULLÖ®ºóÒªÂíÉÏ×öÍêÈ«±¸·Ý¡£
004¡¢SQLÓëORACLEµÄ±¸·ÝÀàÐÍ
SQLµÄ±¸·ÝÀàÐͷֵļ«ÔÓ£ºÍêÈ«±¸·Ý¡¢ÔöÁ¿±¸·Ý¡¢ÈÕÖ¾±¸·Ý¡¢Îļþ»òÎļþ×鱸·Ý£»ORACLEµÄ±¸·ÝÀàÐ;ÍÇåäÀ¶àÀ²£ºÎïÀí±¸·Ý¡¢Âß¼±¸ ·Ý£»ORACLEµÄÂß¼±¸·Ý£¨EXP£©Ï൱ÓÚSQLµÄÍêÈ«±¸·ÝÓëÔöÁ¿±¸·Ý£¬ORACLEµÄÎïÀí±¸·ÝÏ൱ÓÚSQLµÄÎļþÓëÎļþ×鱸·Ý¡£SQLµÄ¸÷ÖÖ±¸·Ý¶¼ÃÜ ÇÐÏà¹Ø£¬ÒÔÍêÈ«±¸·ÝΪ»ù´¡£¬ÅäºÏÆäËüµÄ±¸·Ý·½Ê½£¬¾Í¿ÉÒÔÁé»îµØ±¸·ÖÊý¾Ý£»ORACLEµÄÎïÀí±¸·ÝÓëÂß¼±¸·Ý¸÷˾ÆäÖ°¡£SQL¿ÉÒÔÓжà¸öÈÕÖ¾£¬Ï൱ÓÚ ORACLEÈÕÖ¾×飬ORACLEµÄÈÕÖ¾×Ô¶¯Çл»²¢¹éµµ£¬SQLµÄÈÕÖ¾²»Í£µØÅòÕÍ……SQLÓи½¼ÓÊý¾Ý¿â£¬¿ÉÒÔ½«Êý¾Ý¿âºÜ·½±ãµØÒƵ½±ðÒ»¸ö·þÎñÆ÷£¬ ORACLEÓпɴ«Êä±í¿Õ¼ä£¬¿É²Ù×÷ÐԾ͵Ã×¢ÒâÀ²¡£
005¡¢SQLÓëORACLEµÄ»Ö¸´ÀàÐÍ
SQLÓÐÍêÈ«»Ö¸´Óë»ùÓÚʱ¼äµãµÄ²»ÍêÈ«»Ö¸´£»ORACLEÓÐÍêÈ«»Ö¸´Óë²»ÍêÈ«»Ö¸´£¬²»ÍêÈ«»Ö¸´ÓÐÈýÖÖ·½Ê½£º»ùÓÚÈ¡ÏûµÄ¡¢»ùÓÚʱ¼äµÄ¡¢»ùÓÚÐ޸ĵģ¨SCN£©µÄ»Ö¸´¡£²»ÍêÈ«»Ö¸´¿ÉÒÔ»Ö¸´Êý¾Ýµ½Ä³¸öÎȶ¨µÄ״̬µã¡£
006¡¢SQLÓëORACLEµÄÊÂÎñ¸ôÀë
SET TRANSACTION ISOLATION LEVEL
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ǰ¼¸Ìì×öÒ»¸ö¹ØÓÚÊý¾Ý±íÓÅ»¯µÄ³ÌÐò£¬ÓÉÓÚÊý¾Ý¿âÀïÃæµÄ×ֶεĹØÏµ·Ç³£¸´ÔÓ£¬²Ù×÷ÆðÀ´±È½ÏÂé·³£¬¸ÕÓõÄʱºò»¹ºÃ£¬ÔËÐÐʱ¼äÒ»³¤£¬Éú³ÉµÄÊÂÎñÈÕÖ¾ºÜ´ó£¬Õ¼ÓÃÁË10¼¸G£¬´ÅÅ̶¼¿ìÓÃÍêÁË¡£
µ½ÍøÉÏËÑÁËһϣ¬·½·¨ÏÂÃæÁ½ÖÖ£º
1.·ÖÀëÊý¾Ý¿â£¬Ö±½Óɾ³ýÊÂÎñÈÕÖ¾Îļþ£¬ÔÙ¸½¼ÓÊý¾Ý¿â£¬ÏµÍ³ ......
´Ë·½·¨ÊÇ´Óһλǰ±²ÄÇÀïѧÀ´µÄ£¬µ¼Óï¾äºÜ·½±ã£¬Ö»ÐèдÇå³þ±íÃû¾ÍÐС£ÅÂÍüÁË£¬ÔݼÇһϡ££¨sql server 2005ÊÔÑé¹ý£©
µÚÒ»´ÎʹÓõϰ£¬ÐèÒª½¨Á¢ÈçÏ´洢¹ý³Ì¡£´úÂëºÜ³¤£¬Ã»¹ØÏµ£¬Ö±½Ócopy¾ÍÐС£
--------- outputdata ´æ´¢¹ý³Ì
CREATE PROCEDURE dbo.OutputData
@tablename sysname
AS
declare @column va ......
¡¡¡¡Êý¾Ý¿â¿ª·¢ÈËÔ±»òÊý¾Ý¿â¹ÜÀíÔ±(DBA)ΪÁË·¢²¼Êý¾Ý¿â»ò±¸·ÝÊý¾Ý¿â¶ÔÏ󣬳£ÐèÒªÉú³ÉT-SQL½Å±¾¡£±ÊÕßÔÚÕâÀï¶Ô³£Ó÷½·¨½øÐÐÁË×ܽᣬ¹©ÅóÓÑÃDzο¼¡£
¡¡¡¡·½·¨Ò»£ºÊ¹ÓÃÆóÒµ¹ÜÀíÆ÷
¡¡¡¡½øÈë“ÆóÒµ¹ÜÀíÆ÷”£¬ÓÒ»÷Êý¾Ý¿â£¬Ñ¡Ôñ“ËùÓÐÈÎÎñ→Éú³ÉSQL½Å±¾”¼´¿É¡£
¡¡¡¡·½·¨ÆÀ¼Û£ºÓŵãÊÇ·½±ã£¬ÇÒ²Ù×÷¼òµ¥¡ ......
declare @tb3 table (ÉÌÆ·±àºÅ nvarchar(10),Åú´ÎºÅ nvarchar(10),¿â´æÊýÁ¿ int,³ö¿âÊýÁ¿ int)
declare @tb1 table (ÉÌÆ·±àºÅ nvarchar(10),Åú´ÎºÅ nvarchar(10),¿â´æÊýÁ¿ int)
insert into @tb1 select '0001','090801',200
union all select '0001','090501',50
&n ......