㈠ 我想用批處理文件執行一條sql的查詢語局並把結果顯示在dos窗口該怎麼寫呢
首先新建.sql 標准isql命令(即你要查詢的語句)
例:test.sql 內容如下
use glkf
go
select * from base_bmb
go
然後,新建.bat 批處理文件,
例:test.bat 內容如下
isql -S 192.168.0.251 -Usa -P123 -i test.sql
註:
192.168.0.251 sql伺服器地址
sa 登錄帳號
123登錄密碼
運行批處理 test 效果如下
㈡ 如何批處理命令替換sql文件的某欄位
如果是在windows系統中
打開該sql文件 ,CTRL+H打開查找替換功能,輸入你要查找和所要替換的內容,全部替換即可
如果是在linux/unix系統中
則需要用字元管理命令sed來批量替換
舉個栗子:
現在在abc.sql文件中有這樣一段內容 linux:this is linux
sed -n s/linux/windows/p abc.sql 這條命令會將該行的第一個linux替換為windows
開頭s的作用是只替換該行第一個內容 結尾p的作用是顯示結果
執行結果 windows:this is linux
sed -n s/linux/windows/gp abc.sql 這條命令會將該行所有的linux替換為windows
結尾g的作用是行內全面替換
執行結果 windows:this is windows
其中-n選項是只顯示sed更改的內容。不加則會替換前的內容和替換後的內容一起顯示
sed的其他參數和選項 可以通過『man sed』命令來了解
㈢ sql中的批處理
SQL批處理:指包含一條或多條T - SQL語句的語句組,這組語句從應用程序一次性地發送到SQL server伺服器執行。編批處理程序時,最好能夠以分號結束相關語句。雖然這不資料庫強制求,但筆還強烈建議如此處理。方面這有利於提批處理程序讀性。批處理程序往往完成些比較復雜成套功能,而每條語句則完成項獨立功能。此有時個比較復雜些批處理程序其往往有百行容。此時提其讀性,最好能夠利分號進行語句語句間分隔。二未版本性。其實SQL Server資料庫設計時候,開始這方面就關不嚴。現部分標准程序編器都實現類似強制控制。根據憲梓微軟官方提供資料看,以SQL Server資料庫版本,這個規則能成個強執行規則,即必須每條語句面利分號進行分隔。此能夠跟續SQL Server資料庫版本進行,最好從現開始就采分號分隔批處理程序每條語句。
㈣ 如果通過批處理執行sql server語句
樓主你好,首先,我鄙視下樓上的二位。
您的意思是,把查詢語句都寫在一個文本文件里,然後雙擊一個bat文件,就自動執行文本文件里的語句對吧,OK,看下面步驟:
1.新增一個批處理文件:如a.bat
2.新增一個SQL腳本文件:如a.sql
3.a.bat中輸入:
isql -U 用戶名 -P 密碼 -i c:\a.sql
同樣在bat文件中,輸入上面一行,在a.sql輸入腳本.
如:
use 資料庫名
go
select * from 表名
go
注意:如果您是SQL 2005的,請把bat文件中的isql改成osql即可。
祝您成功!
㈤ 在SQL資料庫中,什麼叫批處理
批處理就是單個或多個T—SQL語句的集合,由應用程序一次性發送給SQL
Server解析執行處理內的所有語句指令。
㈥ 如何使用sqlcmd在批處理腳本中執行SQL
使用sqlcmd可以在批處理腳本中執行SQL。雖然這個命令的參數很多,但幸運的是,我們不需要全部理解,在這里簡要介紹以下幾個:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用戶名密碼,當然指定了用戶名密碼就不用-E了;x0dx0a-S server_name [ \ instance_name ] 資料庫伺服器,如果不在本機的話必須指定;x0dx0a-d db_name 資料庫名字,必須的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的話用-i,輸出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 輸入是簡單的sql,不用文件,推薦用-Q,如果你執行完sqlcmd還需要執行別的動作的話;x0dx0a[ -W remove trailing spaces ] 刪除多餘的空格,結果會更緊湊。x0dx0a當我們在真正的腳本中執行sql時,通常需要傳入和輸出變數。x0dx0a傳入變數比較簡單,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a這個語句從test資料庫的Investment表中選出investor等於x的所有行,注意到變數x被包含在${}中。x0dx0a然後用-v定義了x的值,'IBM'。x0dx0a-W確定輸出的結果不包含多餘的空格。x0dx0ax的值如果沒有在sqlcmd中設定,系統會試圖從別的地方去尋找,可能的地方包括,系統環境變數,用戶環境變數,以及用在sqlcmd之前用set設定的變數值。x0dx0a如果你的數據里確實包含${},那麼你並不希望進行變數的替換,使用-x選項可以禁止變數的替換。x0dx0a有些時候,你還希望能獲得sql執行結果並保存到變數中。比如你們的日誌系統每天都在產生日誌文件,你要執行一個腳本來處理這些日誌文件並存到資料庫中。在處理之前,你必須讀取資料庫以確定上次處理到那一天了。你期望這樣能解決你的問題:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但這樣並不工作。因為sqlcmd並不提供輸出變數。x0dx0a不過你可以這樣做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a這樣你就可以得到一個乾乾凈凈的數字,而不會包含列名和其他信息。x0dx0a接著你將上述結果導入到一個文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a現在到了最關鍵的一步,將文件的內容寫入到變數里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明這個變數myvar的值需要用戶輸入;x0dx0a<1.txt表明從1.txt中讀入而不是從其他地方讀入。x0dx0a這樣,我們就巧妙的把sql執行的結果寫入到變數里了。
㈦ 如何將批處理文件在SQL代理作業命令中執行
1、在 SQLServerManagement Studio 中,打開要在其中創建作業的 SQLServer的實例,或者打開包含要向其中添加步驟的作業的實例。
2、展開 SQLServer代理,然後執行下列操作之一:
若要創建新的作業,請右鍵單擊「作業」,再單擊「新建」。
若要使用現有作業,請展開「作業」,右鍵單擊該作業,再單擊「屬性」。
3、在「常規」頁上,如果要創建新的作業,請提供作業名稱,選擇所有者和作業類別,還可以選擇提供作業說明。
4、若要使作業可以進行安排,請選擇「已啟用」。
5、單擊「步驟」,再單擊「新建」。
6、提供一個步驟名稱,然後基於將要運行該作業的dtexec實用工具 (dtexec.exe) 的版本在「類型」列表中選擇一種作業步驟類型:
㈧ 批處理文件中如何運行當前目錄下的sql
你好!
在run.sql文件開始添加如下代碼:
conn
budget/budget@sid
/
然後
sqlplus
/nolog
@D:\BAT\run.sql
僅代表個人觀點,不喜勿噴,謝謝。
㈨ 用批處理執行SQL文件的腳本應該怎麼寫
步驟:(1) 創建一個批處理文件:打開記事本,創建資料庫連接信息(例如,server name,username,password,databasename等)以及要執行的*.sql腳本名稱。具體語法參考下文"osql 實用工具" 。 將文件的擴展名改為.bat 並保存。
示例1:指定待執行sql 文件的相對路徑
osql -S admin\admin -U sa -P sa -d TestDB -i c:\test.sql
pause
示例2: 待執行文件與bat文件在同一個目錄,指定相對路徑
set localdir=%~dp0
osql -S (local) -U sa -P sa -d Test -i %localdir%\test1.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test2.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test3.sql
pause
(2) 創建需要執行的sql 腳本, test.sql,test2.sql 和test3.sql, 並放在步驟(1)示例1中指定的位置。本例為c:\ 根目錄。如果用示例2,將待執行的sql和bat文件放在同一個目錄下。
(3) 雙擊*.bat 文件並查看運行結果。
㈩ 如何將sql腳本放入批處理(.bat)文件中執行
cmd /c osql -S"127.0.0.1" -U"sa" -P"123" -d"Test" -i"E:\資料\學習\MSSQL\Dos執行文件\test.sql"
-S :資料庫IP地址
-U:用戶名
-P:密碼
-d:資料庫名
-i :資料庫文件
注意:在沒有裝有資料庫的情況下 , 你的系統中可能沒有osql工具的環境 , 此時我們只需要將 OSQL.EXE和osql.rll兩個文件拷到c:\window\system32目錄下即可