Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʹÓÃOracleµÄDBMS_SQL°üÖ´Ðж¯Ì¬SQLÓï¾ä

 ÔÚijЩ³¡ºÏÏ£¬´æ´¢¹ý³Ì»ò´¥·¢Æ÷ÀïµÄSQLÓï¾äÐèÒª¶¯Ì¬Éú³É¡£OracleµÄDBMS_SQL°ü¿ÉÒÔÓÃÀ´Ö´Ðж¯Ì¬SQLÓï¾ä¡£±¾ÎÄͨ¹ýÒ»¸ö¼òµ¥µÄÀý×ÓÀ´Õ¹Ê¾ÈçºÎÀûÓÃDBMS_SQL°üÖ´Ðж¯Ì¬SQLÓï¾ä£º
DECLARE
       v_cursor NUMBER;
       v_stat NUMBER;
       v_row NUMBER;
       v_id NUMBER;
       v_no VARCHAR(100);
       v_date DATE;
       v_sql VARCHAR(200);
       s_id NUMBER;
       s_date DATE;
BEGIN
     s_id := 3000;
     s_date := SYSDATE;
     v_sql := 'SELECT id,qan_no,sample_date from "tblno" WHERE id > :sid and sample_date < :sdate';
     v_cursor := dbms_sql.open_cursor; --´ò¿ªÓαꣻ
     dbms_sql.parse(v_cursor, v_sql, dbms_sql.native); --½âÎö¶¯Ì¬SQLÓï¾ä£»
     dbms_sql.bind_variable(v_cursor, ':sid', s_id); --°ó¶¨ÊäÈë²ÎÊý£»
     dbms_sql.bind_variable(v_cursor, ':sdate', s_date);
    
     dbms_sql.define_column(v_cursor, 1, v_id); --¶¨ÒåÁÐ
     dbms_sql.define_column(v_cursor, 2, v_no, 100);
     dbms_sql.define_column(v_cursor, 3, v_date);
     v_stat := dbms_sql.execute(v_cursor); --Ö´Ðж¯Ì¬SQLÓï¾ä¡£
     LOOP
         EXIT WHEN dbms_sql.fetch_rows(v_cursor)<=0; --fetch_rowsÔÚ½á¹û¼¯ÖÐÒƶ¯Óα꣬Èç¹ûδµÖ´ïĩ⣬·µ»Ø1¡£        
         dbms_sql.column_value(v_cursor, 1, v_id); --½«µ±Ç°ÐеIJéѯ½á¹ûдÈëÉÏÃ涨ÒåµÄÁÐÖС£
         dbms_sq


Ïà¹ØÎĵµ£º

10. ¾«ÃîSQL語¾ä

         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 ......

ORACLE ÕýÔò±í´ïʽ

¾ÍÊÇÓÉÆÕͨ×Ö·û£¨ÀýÈç×Ö·ûaµ½z£©ÒÔ¼°ÌØÊâ×Ö·û£¨³ÆΪԪ×Ö·û£©×é³ÉµÄÎÄ×Öģʽ¡£¸ÃģʽÃèÊöÔÚ²éÕÒÎÄ×ÖÖ÷Ìåʱ´ýÆ¥ÅäµÄÒ»¸ö»ò¶à¸ö×Ö·û´®¡£ÕýÔò±í´ïʽ×÷Ϊһ¸öÄ£°å£¬½«Ä³¸ö×Ö·ûģʽÓëËùËÑË÷µÄ×Ö·û´®½øÐÐÆ¥Åä¡£
±¾ÎÄÏêϸµØÁгöÁËÄÜÔÚÕýÔò±í´ïʽÖÐʹÓã¬ÒÔÆ¥ÅäÎı¾µÄ¸÷ÖÖ×Ö·û¡£µ±ÄãÐèÒª½âÊÍÒ»¸öÏÖÓеÄÕýÔò±í´ïʽʱ£¬¿ÉÒÔ×÷Ϊһ¸ö¿ ......

connect by prior Ò»¸öºÜºÃÓõÄORACLEµÝ¹éÓï¾ä

select t.*, t.rowid from indicators t start with (t.isleaf='1' and t.rid='26020')
connect by prior t.pid = t.id order by t.inum
´ÓÒ¶×Ó½ÚµãÒÀ¾Ýid=pidµÄ¹ØϵÏòÉϵݹ鵽¸ú½Úµã¡£
select t.*, t.rowid from indicators t start with (t.pid='0' and t.rid='26020')
connect by prior t.id = t.pid order by t.i ......

OracleÊý¾Ý¿âÖеÄ''ÓëNULLµÄ¹Øϵ

ÔÚOracleÊý¾Ý¿âÖÐ''ÓëNULLÊǵȼ۵ġ£¾ù±íʾ¿ÕÖµ£¬¶ø²»ÊÇÀàËÆÆäËûÊý¾Ý¿âÉÏ''±íʾ¿Õ´®£¬NULL±íʾ¿ÕÖµ¡£
 
ORACLEÔÊÐíÈκÎÒ»ÖÖÊý¾ÝÀàÐ͵Ä×Ö¶ÎΪ¿Õ£¬³ýÁËÒÔÏÂÁ½ÖÖÇé¿ö£º
1¡¢Ö÷¼ü×ֶΣ¨primary key£©£¬
2¡¢¶¨ÒåʱÒѾ­¼ÓÁËNOT NULLÏÞÖÆÌõ¼þµÄ×Ö¶Î
 
˵Ã÷£º
1¡¢NULLµÈ¼ÛÓÚûÓÐÈκÎÖµ¡¢ÊÇδ֪Êý¡£
2¡¢NULLÓë ......

Ô¶³Ì±¸·ÝSQL Server 2005Êý¾Ý¿â

 ½ñÌìÖÕÓÚ°ÑÕâ¸öÎÊÌâ¸ø½â¾öÁË£º
²Î¿¼ÎÄÕ£ºhttp://blog.csdn.net/long2006sky/archive/2007/04/23/1576583.aspx
ʵÀý˵Ã÷£º
           »·¾³£ºwin2k+sqlserver 2K+²éѯ·ÖÎöÆ÷
           SQLSERVER·þÎñʵÀý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ