¡¾Õª¡¿Power Builder Öж¯Ì¬SQLÓï¾äµÄд·¨
PowerBuilderÊÇĿǰ×îÁ÷ÐеÄÊý¾Ý¿â¿ª·¢¹¤¾ßÖ®Ò»¡£PowerBuilderÌṩÁËÔÚ³ÌÐò´úÂëÖмÓÈëǶÈëʽSQLÓï¾äµÄ¹¦ÄÜÀ´Ö§³Ö¶ÔÊý¾Ý¿âµÄ·ÃÎÊ¡£µ«ÕâÖÖǶÈëʽSQLÓï¾äÖ»ÄÜÖ§³ÖһЩ¹Ì¶¨µÄ±ê×¼µÄSQLÓï¾ä£¬¼´ÔÚ½øÐгÌÐò´úÂë±àÒë´¦ÀíʱÕâЩSQLÓï¾ä±ØÐëÊÇÈ·¶¨µÄ£¬ÀýÈ磺¶ÔÄÄÕűíÄö×ֶνøÐвÙ×÷ÔÚ³ÌÐò´úÂëÖÐÊǹ̶¨Ð´Ã÷µÄ£¬ÁíÍâÕâÖÖ·½Ê½Ò²²»ÄÜÖ´ÐÐÏñCreat Table,Creat DatabaseµÈÕâЩÊý¾Ý¿â¶¨ÒåµÄÓï¾ä(DDL)¡£
Òò´ËÕâÖÖǶÈëʽSQLÓï¾äÔÚʵ¼ÊÓ¦ÓÃÖÐÓÐÒ»¶¨µÄ¾ÖÏÞÐÔ¡£Îª¿Ë·þÕâÖÖ·½Ê½µÄ¾ÖÏÞÐÔ£¬¿ÉÒÔʹÓÃPowerBuilderÌṩµÄ¶¯Ì¬SQLÓï¾ä£¬ÕâÖÖ¶ÔÊý¾Ý¿â·ÃÎʵķ½Ê½¿ÉÒÔÍê³ÉǶÈëʽSQLÓï¾äÎÞ·¨ÊµÏֵŦÄÜ¡£È罨¿â¡¢½¨±íÕâÒ»ÀàµÄÊý¾Ý¿â¶¨ÒåÓï¾ä(DDL)£»Æä´Î£¬ÓÉÓÚ¶¯Ì¬SQLÓï¾äÔÊÐíÔÚÖ´ÐÐʱ²ÅÈ·¶¨µ½µ×ÒªÖ´ÐÐÔõÑùµÄSQLÓï¾ä£¬Òò´ËʹÓö¯Ì¬SQLÓï¾ä¿ÉÒÔʹ³ÌÐòʵÏÖ²ÎÊý»¯Éè¼Æ£¬¾ßÓкܴóµÄÁé»îÐÔºÍͨÓÃÐÔ¡£
Ò»¡¢¶¯Ì¬SQLÓï¾äµÄÓ¦Ó÷ÖÎö PowerBuilderÌṩÁËËÄÖÖ¸ñʽµÄ¶¯Ì¬SQLÓï¾ä£¬Ã¿ÖÖ¸ñʽ¶¼ÓÐ×Ô¼º²»Í¬µÄÌØµãºÍ×÷Óá£ÏÂÃæÎÒÃǶԸ÷ÖÖ¸ñʽµÄ¾ßÌåʹÓ÷½·¨·Ö±ð¼ÓÒÔ˵Ã÷¡£
¡¡¡¡(Ò»)µÚÒ»ÖÖ¸ñʽ
¡¡¡¡µ±Ö´ÐÐûÓÐÊäÈë²ÎÊý²¢ÇÒûÓзµ»Ø½á¹û¼¯µÄSQLÓï¾äʱ¿ÉÒÔʹÓÃÕâÖÖ¸ñʽ£¬ÕâÖÖ¸ñʽʹÓñȽϼòµ¥£¬ÆäʵÏֵIJÙ×÷Ò²±È½ÏÉÙ¡£
¡¡¡¡1Óï·¨
¡¡¡¡EXECUTE IMMEDIATE SQLStatement{USING TransactionObject}£»
¡¡¡¡ÆäÖÐSQLStatementÊÇÒªÖ´ÐеÄSQLÓï¾ä£¬¿ÉÒÔÖ±½ÓÓÃÒýºÅ½«ÒªÖ´ÐеÄSQLÒýÆðÀ´Ó㬻òÕßÓÃ×Ö·û´®±äÁ¿µÄÐÎʽÌṩSQLÓï¾ä¡£Í¨¹ýʹÓÃ×Ö·û´®±äÁ¿¿ÉÒÔÔÚ¾ßÌåÖ´ÐеÄʱºò²ÅÖ¸¶¨ÒªÖ´ÐÐʲôÑùµÄSQLÓï¾ä¡£TransactionObjectÊÇÓû§ËùʹÓõÄÊÂÎñ¶ÔÏó£¬È±Ê¡ÎªSQLCA¡£
¡¡¡¡2Ó¦ÓÃʵÀý
¡¡¡¡¢Ù½¨Á¢Ò»ÕÅÊý¾Ý¿â±í(base)£¬SQLÓï¾äµÄ±íÊöÓÃÒýºÅÒýÆðÀ´Ö±½ÓʹÓá£
¡¡¡¡EXECUTE IMMEDIATE‘CREATE TABLE base(code char(6),name char(30))’USING SQLCA£»
¡¡¡¡¢ÚÖ´ÐжÔÊý¾Ý¿â¼Ç¼µÄ²Ù×÷£¬ÔÚ±íbaseÖвåÈëÒ»Ìõ¼Ç¼£¬SQLÓï¾äͨ¹ý×Ö·û´®±äÁ¿´«µÝÖ´ÐÐÓï¾ä¡£
¡¡¡¡STRING lsSQL
¡¡¡¡LsSQL=”INSERT INTO TABLE base VALUES(’320201’£¬’ÊÐÖÐÇøÖ§ÐÐ’)”
¡¡¡¡EXECUTE IMMEDIATE:lsSQL£»
¡¡¡¡(¶þ)µÚ¶þÖÖ¸ñʽ
¡¡¡¡µ±Ö´ÐдøÊäÈë²ÎÊýµ«Ã»Óзµ»Ø½á¹û¼¯Ê±µÄSQLÓï¾ä¿ÉÒÔ²ÉÓõڶþÖÖ¸ñʽ¡£¸Ã¸ñʽ²»½ö¿ÉÒÔ¶¯Ì¬µØÖ¸¶¨ÒªÖ´ÐеÄSQLÓï¾ä£¬Í¬Ê±»¹¿ÉÒÔ¶¯Ì¬µØÈ·¶¨SQLÓï¾äËùÐèÒªµÄ²ÎÊýÖµ¡£
¡¡¡¡1Óï·¨
¡¡¡¡PREPARE DynamicStagingArea from SQLStatement{USING TransactionOb
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃÇѧµ½Á˽«ÈçºÎ°Ñ×ÊÁÏÓɱí¸ñÖÐÈ¡³ö¡£µ«ÊÇÕâЩ×ÊÁÏÊÇÈç¹û½øÈëÕâЩ±í¸ñµÄÄØ£¿ Õâ¾ÍÊÇÕâÒ»Ò³ (INSERT INTO) ºÍÏÂÒ»Ò³ (UPDATE) ÒªÌÖÂ۵ġ£
»ù±¾ÉÏ£¬ÎÒÃÇÓÐÁ½ÖÖ×÷·¨¿ÉÒÔ½«×ÊÁÏÊäÈë±í¸ñÖÐÄÚ¡£Ò»ÖÖÊÇÒ»´ÎÊäÈëÒ»±Ê£¬ÁíÒ»ÖÖÊÇÒ»´ÎÊäÈëºÃ¼¸±Ê¡£ ÎÒÃÇÏÈÀ´¿´Ò»´ÎÊäÈëÒ»±ÊµÄ·½Ê½¡£
ÒÀÕÕ¹ßÀý£¬ÎÒÃÇÏȽéÉÜÓï·¨¡£Ò»´ÎÊäÈ ......
1) ͳ¼Æ¸÷¸öϵµÄѧÉúÐÅÏ¢
select count(Sname) ×ÜÈËÊý,Sdept from Student group by Sdept
2) ²éѯÐŹÜϵѧÉúµÄ×î´óÄêÁäºÍ×îСÄêÁä
select MAX(Sage) ×î´óÄêÁä,MIN(Sage) ×îСÄêÁä from Student where
Sdept='ÐŹÜϵ'
3) ²éѯÐŹÜϵ×î´óÄêÁäºÍ×îСÄêÁäµÄѧÉúµÄÐÕÃû
select Sname from St ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BuildQuery
{
/// <summary>
/// ʹÓÃÌṩµÄÊý¾Ý½¨Á¢Ò»¸öSQL²éѯ
/// </summary>
public class BuildQuery
{
#region ÀàµÄ±äÁ¿
int numFieldsCount, ......
ÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracle HINTµÄÓ÷¨£º
1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROW ......