¹ØÏµÊý¾Ý¿âÖеIJÙ×÷»á¶ÔÕû¸öÐм¯Æð×÷Óá£ÓÉ SELECT Óï¾ä·µ»ØµÄÐм¯°üÀ¨Âú×ã¸ÃÓï¾äµÄ WHERE ×Ó¾äÖÐÌõ¼þµÄËùÓÐÐС£ÕâÖÖÓÉÓï¾ä·µ»ØµÄÍêÕûÐм¯³ÆÎª½á¹û¼¯¡£Ó¦ÓóÌÐò£¬ÌرðÊǽ»»¥Ê½Áª»úÓ¦ÓóÌÐò£¬²¢²»×ÜÄܽ«Õû¸ö½á¹û¼¯×÷Ϊһ¸öµ¥ÔªÀ´ÓÐЧµØ´¦Àí¡£ÕâЩӦÓóÌÐòÐèÒªÒ»ÖÖ»úÖÆÒÔ±ãÿ´Î´¦ÀíÒ»ÐлòÒ»²¿·ÖÐС£Óαê¾ÍÊÇÌṩÕâÖÖ»úÖÆµÄ¶Ô½á¹û¼¯µÄÒ»ÖÖÀ©Õ¹¡£
Óαêͨ¹ýÒÔÏ·½Ê½À´À©Õ¹½á¹û´¦Àí£º
ÔÊÐí¶¨Î»ÔÚ½á¹û¼¯µÄÌØ¶¨ÐС£
´Ó½á¹û¼¯µÄµ±Ç°Î»ÖüìË÷Ò»ÐлòÒ»²¿·ÖÐС£
Ö§³Ö¶Ô½á¹û¼¯Öе±Ç°Î»ÖõÄÐнøÐÐÊý¾ÝÐ޸ġ£
ΪÓÉÆäËûÓû§¶ÔÏÔʾÔÚ½á¹û¼¯ÖеÄÊý¾Ý¿âÊý¾ÝËù×öµÄ¸ü¸ÄÌṩ²»Í¬¼¶±ðµÄ¿É¼ûÐÔÖ§³Ö¡£
Ìṩ½Å±¾¡¢´æ´¢¹ý³ÌºÍ´¥·¢Æ÷ÖÐÓÃÓÚ·ÃÎʽá¹û¼¯ÖеÄÊý¾ÝµÄ Transact-SQL Óï¾ä¡£
ÇëÇóÓαê
Microsoft SQL Server 2005 Ö§³ÖÁ½ÖÖÇëÇóÓαêµÄ·½·¨£º
Transact-SQL
Transact-SQL ÓïÑÔÖ§³ÖʹÓøù¾Ý SQL-92 ÓαêÓï·¨ÖÆ¶¨µÄÓαêµÄÓï·¨¡£
Êý¾Ý¿âÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¨API£©Óα꺯Êý
SQL Server Ö§³ÖÒÔÏÂÊý¾Ý¿â API µÄÓα깦ÄÜ£º
ADO£¨Microsoft ActiveX Êý¾Ý¶ÔÏó£©
OLE DB
ODBC£¨¿ª·ÅʽÊý¾Ý¿âÁ¬½Ó£©
Ó¦ÓóÌÐò²»ÄÜ»ìºÏʹÓÃÕâÁ½ÖÖÇëÇóÓαêµÄ·½·¨¡£ÒѾʹÓà API Ö¸¶¨ÓαêÐÐΪµÄÓ¦ÓóÌÐò²» ......
1. ¶¨ÒåÓα궨Òå
ÓαêÓï¾äµÄºËÐÄÊǶ¨ÒåÁËÒ»¸öÓαê±êʶÃû£¬²¢°ÑÓαê±êʶÃûºÍÒ»¸ö²éѯÓï¾ä¹ØÁªÆðÀ´¡£DECLAREÓï¾äÓÃÓÚÉùÃ÷Óα꣬Ëüͨ¹ýSELECT²éѯ¶¨ÒåÓÎ±ê´æ´¢µÄÊý¾Ý¼¯ºÏ¡£Óï¾ä¸ñʽΪ£º
DECLARE ÓαêÃû³Æ [INSENSITIVE] [SCROLL]
CURSOR FOR selectÓï¾ä
[FOR{READ ONLY|UPDATE[OF ÁÐÃû×Ö±í]}]
²ÎÊý˵Ã÷£º
INSENSITIVEÑ¡Ï˵Ã÷Ëù¶¨ÒåµÄÓαêʹÓÃSELECTÓï¾ä²éѯ½á¹ûµÄ¿½±´£¬¶ÔÓαêµÄ²Ù×÷¶¼»ùÓڸÿ½±´½øÐС£Òò´Ë£¬ÕâÆÚ¼ä¶ÔÓαê»ù±¾±íµÄÊý¾ÝÐ޸IJ»ÄÜ·´Ó³µ½ÓαêÖС£ÕâÖÖÓαêÒ²²»ÔÊÐíͨ¹ýËüÐ޸Ļù±¾±íµÄÊý¾Ý¡£
SCROLLÑ¡Ïָ¶¨¸ÃÓαê¿ÉÓÃËùÓеÄÓαêÊý¾Ý¶¨Î»·½·¨ÌáÈ¡Êý¾Ý£¬Óα궨λ·½·¨°üÀ¨PRIOR¡¢FIRST¡¢LAST¡¢ABSOLUTE n ºÍRELATIVE n Ñ¡Ïî¡£
SelectÓï¾ä£ºÎª±ê×¼µÄSELECT²éѯÓï¾ä£¬Æä²éѯ½á¹ûΪÓαêµÄÊý¾Ý¼¯ºÏ£¬¹¹³ÉÓαêÊý¾Ý¼¯ºÏµÄÒ»¸ö»ò¶à¸ö±í³Æ×÷ÓαêµÄ»ù±í¡£
ÔÚÓαêÉùÃ÷Óï¾äÖУ¬ÓÐÏÂÁÐÌõ¼þ֮һʱ£¬ÏµÍ³×Ô¶¯°ÑÓα궨ÒåΪINSENSITIVEÓα꣺
SELECTÓï¾äÖÐʹÓÃÁËDISTINCT¡¢UNION¡¢ GROUP BY»òHAVINGµÈ¹Ø¼ü×Ö£»
ÈÎÒ»¸öÓαê»ù±íÖв»´æÔÚΨһË÷Òý¡£
ÆäËû
READ ONLYÑ¡Ï˵Ã÷¶¨ÒåÖ»¶ÁÓαꡣ
UPDATE [OF ÁÐÃû×Ö±í]Ñ¡Ï¶¨ÒåÓαê¿ÉÐ޸ĵÄÁС£Èç¹ûʹÓÃOF ÁÐÃû×Ö±íÑ¡ ......
ÔÚÊý¾Ý¿âÖУ¬ÓαêÊÇÒ»¸öÊ®·ÖÖØÒªµÄ¸ÅÄî¡£ÓαêÌṩÁËÒ»ÖÖ¶Ô´Ó±íÖмìË÷³öµÄÊý¾Ý½øÐвÙ×÷µÄÁé»îÊֶΣ¬¾Í±¾ÖʶøÑÔ£¬Óαêʵ¼ÊÉÏÊÇÒ»ÖÖÄÜ´Ó°üÀ¨¶àÌõÊý¾Ý¼Ç¼µÄ½á¹û¼¯ÖÐÿ´ÎÌáȡһÌõ¼Ç¼µÄ»úÖÆ¡£Óαê×ÜÊÇÓëÒ»ÌõT_SQL Ñ¡ÔñÓï¾äÏà¹ØÁª£¬ÒòΪÓαêÓɽá¹û¼¯£¨¿ÉÒÔÊÇÁãÌõ¡¢Ò»Ìõ»òÓÉÏà¹ØµÄÑ¡ÔñÓï¾ä¼ìË÷³öµÄ¶àÌõ¼Ç¼£©ºÍ½á¹û¼¯ÖÐÖ¸ÏòÌØ¶¨¼Ç¼µÄÓαêλÖÃ×é³É¡£
µ±¾ö¶¨¶Ô½á¹û¼¯½øÐд¦Àíʱ£¬±ØÐëÉùÃ÷Ò»¸öÖ¸Ïò¸Ã½á¹û¼¯µÄÓαꡣÈç¹ûÔø¾Óà C ÓïÑÔд¹ý¶ÔÎļþ½øÐд¦ÀíµÄ³ÌÐò£¬ÄÇôÓαê¾ÍÏñÄú´ò¿ªÎļþËùµÃµ½µÄÎļþ¾ä±úÒ»Ñù£¬Ö»ÒªÎļþ´ò¿ª³É¹¦£¬¸ÃÎļþ¾ä±ú¾Í¿É´ú±í¸ÃÎļþ¡£¶ÔÓÚÓÎ±ê¶øÑÔ£¬ÆäµÀÀíÊÇÏàͬµÄ¡£¿É¼ûÓαêÄܹ»ÊµÏÖ°´Ó봫ͳ³ÌÐò¶ÁÈ¡Æ½ÃæÎļþÀàËÆµÄ·½Ê½´¦ÀíÀ´×Ô»ù´¡±íµÄ½á¹û¼¯£¬´Ó¶ø°Ñ±íÖÐÊý¾ÝÒÔÆ½ÃæÎļþµÄÐÎʽ³ÊÏÖ¸ø³ÌÐò¡£
ÎÒÃÇÖªµÀ¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳʵÖÊÊÇÃæÏò¼¯ºÏµÄ£¬ÔÚMS SQL SERVER Öв¢Ã»ÓÐÒ»ÖÖÃèÊö±íÖе¥Ò»¼Ç¼µÄ±í´ïÐÎʽ£¬³ý·ÇʹÓÃwhere ×Ó¾äÀ´ÏÞÖÆÖ»ÓÐÒ»Ìõ¼Ç¼±»Ñ¡ÖС£Òò´ËÎÒÃDZØÐë½èÖúÓÚÓαêÀ´½øÐÐÃæÏòµ¥Ìõ¼Ç¼µÄÊý¾Ý´¦Àí¡£
Óɴ˿ɼû£¬ÓαêÔÊÐíÓ¦ÓóÌÐò¶Ô²éѯÓï¾äselect ·µ»ØµÄÐнá¹û¼¯ÖÐÿһÐнøÐÐÏàͬ»ò²»Í¬µÄ²Ù×÷£¬¶ø²»ÊÇÒ»´Î¶ÔÕû¸ö½á¹û¼¯½ ......
SQL*Loader ÓÃÓÚ½«´óÁ¿Êý¾Ý×°ÈëÊý¾Ý¿â¡£
¢Å¡¢¶¨¿íÊý¾Ý
´´½¨Êý¾ÝÎļþcontrol.txt£º
aaa,bbb
ccc,ddd
eee,fff
´´½¨¿ØÖÆÎļþcontrol.ctl£º
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 position(1:3) char,
m2 position(5:7) char)
ÅúÁ¿¼ÓÔØÊý¾Ý£º
sqlldr tester/test control=c:\loader.ctl data=c:\loader.txt
¢Æ¡¢¶¨½ç·ûÊý¾Ý
´´½¨Êý¾ÝÎļþcontrol.txt£º
abc|def,xyz
a,bbb
cc,ddd
eee-dd,fff-le
´´½¨¿ØÖÆÎļþcontrol.ctl£º
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 char terminated by ",",
m2 char terminated by ",")
ÅúÁ¿¼ÓÔØÊý¾Ý£º
sqlldr tester/test control=c:\loader.ctl data=c:\loader.txt ......
SQL*Loader ÓÃÓÚ½«´óÁ¿Êý¾Ý×°ÈëÊý¾Ý¿â¡£
¢Å¡¢¶¨¿íÊý¾Ý
´´½¨Êý¾ÝÎļþcontrol.txt£º
aaa,bbb
ccc,ddd
eee,fff
´´½¨¿ØÖÆÎļþcontrol.ctl£º
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 position(1:3) char,
m2 position(5:7) char)
ÅúÁ¿¼ÓÔØÊý¾Ý£º
sqlldr tester/test control=c:\loader.ctl data=c:\loader.txt
¢Æ¡¢¶¨½ç·ûÊý¾Ý
´´½¨Êý¾ÝÎļþcontrol.txt£º
abc|def,xyz
a,bbb
cc,ddd
eee-dd,fff-le
´´½¨¿ØÖÆÎļþcontrol.ctl£º
load data
infile 'c:\loader.txt'
append
into table tester.mm(
m1 char terminated by ",",
m2 char terminated by ",")
ÅúÁ¿¼ÓÔØÊý¾Ý£º
sqlldr tester/test control=c:\loader.ctl data=c:\loader.txt ......
1¡¢±äÁ¿
±äÁ¿Ê××Ö·û±ØÐëÊÇ×Öĸ£»×î¶à30¸ö×Ö·û£»²»ÄÜÓë±í¡¢ÁÐͬÃû£»Ò»ÐÐÉùÃ÷Ò»¸ö±äÁ¿£»º¬_,$,#£¬²»·Ö´óСд¡£
±äÁ¿ÀàÐÍ
binary_integer£ºÕûÊý£¬ÓÃÓÚ¼ÆÊý
number£ºÊýÖµ
char£º¶¨³¤×Ö·û´®
varchar2£º±ä³¤×Ö·û´®
date£ºÈÕÆÚ
long£º³¤×Ö·û´®£¬×2G
boolean£º²¼¶ûÀàÐÍ£¬true/false/null£¬²»ÄÜÔÚdbms_outputÖÐÊä³ö
±äÁ¿ÉùÃ÷
declare
v_temp number(1);
v_count binary_integer := 0;
v_sal number(7, 2) := 4000.0;
v_date date := sysdate;
v_pi constant number(3, 2) := 3.14;
v_valid boolean := false;
v_name varchar2(20) not null := 'MyName';
begin
--||Æ´½ÓΪ´®
dbms_output.put_line('v_name µÄֵΪ£º'||v_name||'£¬v_sal µÄֵΪ:'||v_sal);
end;
/
ĬÈϲ»ÏÔʾÊä³öÐÅÏ¢£¬ÉèÖãº
set serveroutput on size 10000 --×î¶àÖ§³Ö1M
L --ÏÔʾÓï¾ä¿é
/ ¡¡--Ö´ÐÐ
save c:\plsql_01.txt
dbms_output.put_line('Hello World!');
dbms_out ......
1¡¢±äÁ¿
±äÁ¿Ê××Ö·û±ØÐëÊÇ×Öĸ£»×î¶à30¸ö×Ö·û£»²»ÄÜÓë±í¡¢ÁÐͬÃû£»Ò»ÐÐÉùÃ÷Ò»¸ö±äÁ¿£»º¬_,$,#£¬²»·Ö´óСд¡£
±äÁ¿ÀàÐÍ
binary_integer£ºÕûÊý£¬ÓÃÓÚ¼ÆÊý
number£ºÊýÖµ
char£º¶¨³¤×Ö·û´®
varchar2£º±ä³¤×Ö·û´®
date£ºÈÕÆÚ
long£º³¤×Ö·û´®£¬×2G
boolean£º²¼¶ûÀàÐÍ£¬true/false/null£¬²»ÄÜÔÚdbms_outputÖÐÊä³ö
±äÁ¿ÉùÃ÷
declare
v_temp number(1);
v_count binary_integer := 0;
v_sal number(7, 2) := 4000.0;
v_date date := sysdate;
v_pi constant number(3, 2) := 3.14;
v_valid boolean := false;
v_name varchar2(20) not null := 'MyName';
begin
--||Æ´½ÓΪ´®
dbms_output.put_line('v_name µÄֵΪ£º'||v_name||'£¬v_sal µÄֵΪ:'||v_sal);
end;
/
ĬÈϲ»ÏÔʾÊä³öÐÅÏ¢£¬ÉèÖãº
set serveroutput on size 10000 --×î¶àÖ§³Ö1M
L --ÏÔʾÓï¾ä¿é
/ ¡¡--Ö´ÐÐ
save c:\plsql_01.txt
dbms_output.put_line('Hello World!');
dbms_out ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB,comobj, OleServer,
ExcelXP;
type
TForm1 = class(TForm)
ADOConn: TADOConnection;
atblXlsToSql: TADOTable;
DBGrid1: TDBGrid;
Panel1: TPanel;
Button1: TButton;
opdExcel: TOpenDialog;
DataSource1: TDataSource;
Excel: TExcelApplication;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function ConnectDB:boolean; //Á¬½ÓÊý¾Ý¿â
function OpenTable(const Tablename:String):boolean; //´ò¿ªÖ¸¶¨Êý¾Ý±í
function XlsToSq ......
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB,comobj, OleServer,
ExcelXP;
type
TForm1 = class(TForm)
ADOConn: TADOConnection;
atblXlsToSql: TADOTable;
DBGrid1: TDBGrid;
Panel1: TPanel;
Button1: TButton;
opdExcel: TOpenDialog;
DataSource1: TDataSource;
Excel: TExcelApplication;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function ConnectDB:boolean; //Á¬½ÓÊý¾Ý¿â
function OpenTable(const Tablename:String):boolean; //´ò¿ªÖ¸¶¨Êý¾Ý±í
function XlsToSq ......