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

empty、delete、copy table 的SQL語法問題

答題得分者是:FrederickPau
littlefactor
一般會員


發表:24
回覆:25
積分:9
註冊:2002-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-03 16:15:36 IP:203.74.xxx.xxx 未訂閱
想請教各位高手,我寫了SQL,想做到empty、delete、copy 三個table operation,這個是用在我寫的database desktop簡易版程式 之前也有問過問題,記得是ccchen先生幫忙回答的~ ~~~語法~~~ empty: table_string := 'delete from ' table_name; delete: table_string := 'drop table ' table_name; copy: table_string := 'select * into ' co_table_name ' from ' table_name; SQL.Add(table_string); ExecSQL; 這三個語法,我測試過以'select alias'方式開啟四種型態的DB,結果如下: empty delete copy ACCESS ○ ○ ○ dBASE ○ ○ X PARADOX ○ ○ X SQL ○ ○ X 小妹才疏學淺,不明白該如何完成copy table的動作,想請問copy 的SQL語法是每種DB型態都不一樣嗎??請高手們指點迷津! 還有一個問題想請教,當我以直接路徑開啟dBASE和PARADOX table時 上述三種table operation 無法work;想請問方法如何,因為找過一些資料,都沒有得到解答,只好上網來請教大家,請大家幫助我,給我點提示~ 程式我上傳了~謝謝~~麻煩大家了~~
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-04 01:42:44 IP:61.228.xxx.xxx 未訂閱
第一次回應 ... 不知道能否解決你的問題 我想的方法不是用 SQL COMMAND 處理的 因為基本上, dBase 及 Paradox 都是檔案 所以你要用 Copy ... 可以用最簡單的 FileCopy 方式完成 SQL Server 的 Copy, 你所下的 SQL Command 我試過是可以的. 另外, 測了一下 dBase 的 copy, dBase 的 SQL Command 應該是不支援 INTO 這個字的. 希望對您有幫助
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-04 08:35:31 IP:61.219.xxx.xxx 未訂閱
DbiQInstantiateAnswer(hStmt,hQryCur,PChar(TblName),PChar(dbtype), True,@hNewCur) 可以直接將Sql之查詢結果存成Paradox或Dbase或Text檔 查查Help看看吧
littlefactor
一般會員


發表:24
回覆:25
積分:9
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-04 16:55:23 IP:61.56.xxx.xxx 未訂閱
回應 FrederickPau 先生:可是我測SQLserver會出現以下錯誤... 順帶一提,我用的是 SQL 7.0    
payne
初階會員


發表:1
回覆:40
積分:38
註冊:2002-04-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-04 17:34:39 IP:140.92.xxx.xxx 未訂閱
database properties中的select into/bulk copy須勾選,才能使用select into 語法。見SQL Server 的book online,查"sp_dboption"
FrederickPau
資深會員


發表:4
回覆:161
積分:268
註冊:2002-11-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-11-04 22:09:30 IP:61.228.xxx.xxx 未訂閱
我也是用 SQL Server 7.0 的 依照你所看到的錯誤訊息 你可以用在 master 這個 DB 裡下 sp_option DBName, 'select into', True 這樣就把 select into 這個 option 開起來 你可以再試試
littlefactor
一般會員


發表:24
回覆:25
積分:9
註冊:2002-07-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-11-06 16:30:44 IP:61.56.xxx.xxx 未訂閱
首先謝謝 FrederickPau、 ccchen、 payne 先生小姐的回答,  感恩唷~ 我已經解出點選'> >讀取連線的> > '' DBtype = 'STANDARD'>找同目錄中同名的所有類型檔案 while iFindResult = 0 do begin if copyfile(pchar(database1.Directory SearchRec.Name), pchar(database1.Directory co_table_name extractfileext(SearchRec.Name)), false) then 找到檔案就copy一份 showmessage(SearchRec.Name ' copy 成功') else showmessage(SearchRec.Name ' copy 失敗'); iFindResult := FindNext(SearchRec); end; FindClose(SearchRec); end; end; end; 發表人 - littlefactor 於 2002/11/06 16:57:34
littlefactor
一般會員


發表:24
回覆:25
積分:9
註冊:2002-07-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-11-06 17:01:33 IP:61.56.xxx.xxx 未訂閱
不過我後來發現 copy: table_string := 'select * into '+ co_table_name+' from '+ table_name; SQL.Add(table_string); ExecSQL; 雖然可以複製ACCESS,SQL的table structure和data 但是index沒有複製到... 不知道有高手知道複製index的方法嗎??
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-11-09 22:52:10 IP:192.168.xxx.xxx 未訂閱
引言: 不過我後來發現 copy: table_string := 'select * into ' co_table_name ' from ' table_name; SQL.Add(table_string); ExecSQL; 雖然可以複製ACCESS,SQL的table structure和data 但是index沒有複製到... 不知道有高手知道複製index的方法嗎?? < face="Verdana, Arial, Helvetica"> 您可以參考這一個範例程式: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18972 用程式取出Table的欄位與索引結構 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
系統時間:2024-05-18 23:52:22
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!