我寫了一個修改多個視圖的sql腳本,每個腳本用go分開,然后直接放到adoqry里面,結果報錯,不能識別GO命令;去掉go的話,又不能批量執行修改多視圖的SQL腳本,請教如何解決?
uj5u.com熱心網友回復:
寫成存盤程序,然后ado呼叫這個存盤程序uj5u.com熱心網友回復:
呼叫osql去執行uj5u.com熱心網友回復:
呼叫 ado 控制元件中的AdoStoredProc控制元件去執行uj5u.com熱心網友回復:
方法:用stringlist加載sql檔案,逐行讀取,
=GO,adoqry執行,清空adoqry.sql
<>GO,讀取后寫入adoqry.sql
uj5u.com熱心網友回復:
分多次執行adoqry的ExecSQLuj5u.com熱心網友回復:
我的SQL沒有試過這個問題如:批量創建表,視圖都不見報錯
原因應該在SQL上,試著不用參照資料庫匯出的SQL,自己寫一下,把那些無關的字眼去掉
如:DBO.aTable,改為aTable
uj5u.com熱心網友回復:
1、在ADO連接控制元件上啟動事務處理功能2、在事務中,使用query控制元件分別執行對不同視圖的更新。
3、提交事務或在發生錯誤時回滾。
uj5u.com熱心網友回復:
用分號代替GO試試uj5u.com熱心網友回復:
本身是不支持的,因為GO已經跳出事物了,一般這樣都是 軟體在設計自動更新的時候需要用到,我一般是用 SQLCompare 自動生成一個檔案,然后再用adoquery執行轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/34286.html
標籤:數據庫相關
上一篇:人工智能與人才培養
