全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2074
推到 Plurk!
推到 Facebook!

怎麼在一次query內, 執行多句SQL?

答題得分者是:P.D.
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-25 11:02:50 IP:220.130.xxx.xxx 訂閱
有辦法在adoquery內做到像query analysis一樣, 可以一次執行多句SQL語法嗎?
例如:
insert into TableA.........
update TableB..........
delete TableC...........
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-25 12:07:29 IP:61.67.xxx.xxx 未訂閱
我們只是使用 Query Analysis 前端的操作系統, 如何知道在你下三道sql, 在其系統下不是分三次處理呢?
===================引 用 junlin 文 章===================
有辦法在adoquery內做到像query analysis一樣, 可以一次執行多句SQL語法嗎?
例如:
insert into TableA.........
update TableB..........
delete TableC...........
shinhrn
中階會員


發表:54
回覆:165
積分:83
註冊:2002-06-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-25 13:55:46 IP:210.242.xxx.xxx 訂閱
以前使用PHP時
我用 ; 區隔可以達成
可是query 就不行.
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-04-25 21:36:56 IP:118.161.xxx.xxx 訂閱
不是直接回答你的問題,而是對你的應用,提供一個解法,以下是我寫的函式指紋

==>
Function TDBObject.ExecuteTheseSQLCommandOK ( ThisAdoConnection : TAdoConnection ;
TheseCommandSS : TStringS ;
ThisHandle : HWND ; // 如為 -1 表ShowProcessAndResult:=False ;
ShowProcessAndResult : Boolean = False ) : Boolean ;

此函式可接受每列前導用--標的註釋列,及SQL句尾的;
及可執行數十上百個SQL命令

可參考類似去作你的問題
------
Kevin
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-04-28 11:40:25 IP:61.220.xxx.xxx 訂閱
P.D版主說的有理, 也感謝Kevin2004的反覆,
我主要是要做informix 的sql tuning的工具, 在sql前後要加
set explain on
go

select * from table A
go

set explain off
go

在aqua studio及之前的ms-sql都可以同時執行多句sql, 現在我用adoconnection去做, 這樣在同一個connection內,
即使adoquery多次close後再execsql也可以達到同樣的效果, 只是結果會多跑一次出來, 但不影響, 畢竟自己用的, ok的啦.
系統時間:2024-11-25 12:13:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!