2017年10月11日 星期三

使用物件搜尋功能

使用物件搜尋功能
物件搜尋功能能夠協助程式設計師以最快的速度從目前所在的資料庫伺服器中找出所需的物件。

搜尋步驟為:
1.      按工具列中的「物件搜尋」按鈕
2.      待開啟的「物件搜尋」對話方塊中,於「物件名稱」文字方塊內鍵入所要搜尋之物件名稱,並依序設定其他各項搜尋條件。
3.      按下「立即尋找」按鈕。最後可將尋獲的物件以右鍵快選功能表中執行。



osql公用程式
藉著osql公用程式,便可以直接在視窗作業系統的命令提示字元下執行Transact-SQL命令敘述、系統預存程序、與Transact-SQL查詢檔。

osql公用程式係使用ODBC API來與SQL Server通訊,而且更是用來取代以DB-Library API為基礎的isql公用程式。
osqlisql這兩個公用程式皆附於Microsoft® SQL Server 2000中。

範例:
係示範使用osql去查詢資料庫Northwind中的資料表Customers
1.      選取視窗作業系統的「開始」功能表 -> 「程式集」指令 -> 「附屬應用程式」 -> 「命令提示字元」指令,來切換至命令提示字元。
  
2.      鍵入下列的osql命令與其參數後按下Enter鍵:

osql –U sa -P

便可順利登入SQL Server中,會出現osql的命令提示字元以便鍵入所要執行的Transact-SQL命令敘述。
注意:
如果於命令提示字元下鍵入osql –U sa –P命令時出現未結合受信任的SQL Server連線之錯誤,原因可能是只用Windows帳戶驗證連線至SQL Server,此時可以改鍵入osql –E命令或是改用混合模式的帳戶驗證再試一次。
欲使用混合模式的帳戶驗證,可於SQL Server Enterprise Manager中,按右鍵於SQL Server伺服器並從快選功能表中選取「內容」指令,切換至「安全性」頁面,選取選項鈕○ SQL ServerWindows,然後按下「確定」按鈕。
  
3.      osql命令提示字元 1> 之後鍵入下列命令並按下Enter鍵,以便將資料庫Northwind設定成作用資料庫。
   USE Northwind
4.      osql命令提示字元 2> 之後鍵入下列查詢命令並按下Enter鍵:
SELECT ContactName,Phone FROM Customers WHERE Country = ‘UK’
  
5.      osql命令提示字元 3> 之後鍵入下列命令並按下Enter鍵:
GO
  
   此時Transact-SQL命令敘述會依序被執行,而且查詢結果也會傳回並顯示於畫面上。
  
6.      使用完畢而想要跳離osql時,可鍵入QUITEXIT命令並按下Enter鍵。


osql公用程式的語法
除了Transact-SQL程式碼外,亦可使用osql來執行命令。

osql
 [-? ] |
 [-L] |
 [
   {
     { -U login_id  [-P password] }
      | [ -E ]
   }
   [ -S server_name ] [ -H wksta_name ] [ -d db_name ]
   [ -l time_out ] [ -t time_out ] [ -h headers ]
   [ -s col_separator ] [ -w column_width ] [ -a packet_size ]
   [ -e ] [ -I ] [ -D data_source_name ]
   [ -c cmd_end ] [ -q “query” ] [ -Q “query” ]
   [ -n ] [ -m error_level ] [ -r { 0 | 1 } ]
   [ -i input_file ] [ -o output_file ] [ -P ]
   [ -b ] [ -u ] [ -R ] [ -O ]
 ]

必須注意的是,使用參數時務必遵循語法中的大小寫,例如,參數 –E –e 即是兩個完全不同的參數。
各參數用途如下:
    –?
列出osql之各參數語法摘要說明。
    –L
列出本地組態的伺服器與網路上廣播之伺服器名稱。
    –U login_id
此參數用來指定登入識別碼。
    –P  password
用來指定密碼。
    –E
表示採用受信任的連線(Trusted Connection),因此只需指定登入Windows NTWindows2000網路的登入識別碼而不需指定密碼。
    –S server_name
指定所要連線之SQL Server,引數server_name即為所要連線之SQL Server所在之伺服器的電腦名稱。
    –H wksta_name
指定工作站名稱(內定為使用目前的工作站名稱)
    –d db_name
可讓osql啟動後自動將db_name引數所指定之資料庫設定成作用資料庫。
    –h headers
可指定每顯示多少筆資料記錄就顯示一次欄位標題(預設為一次)
    –s col_separator
指定查詢結果之各欄位的資料以特定的字元來區隔,例如:-s #
    –e
GO命令執行時,會先列示先前每一道Transact-SQL命令敘述後,再列示傳回的查詢結果。
    –q “query”
藉著參數 -q 可以讓osql被啟動後立即去執行引數”query”中的查詢,執行完畢後並不會離開osql,例如:
osql –E –d Northwind –q “SELECT count(*) FROM employees”
    –Q “query”
藉著參數 -Q 可以讓osql被啟動後立即去執行引數”query”中的查詢,執行完畢後立即跳離osql,例如:
osql –E –d Pubs –Q “SELECT count(*) FROM authors”
    –n
可設定不要顯示出 列號 符號
    –i input_file
可以將Transact-SQL程式碼或預存程序存放在檔案中,然後使用osql來執行,欲達此目的,只需使用參數 -i 去指定檔案的名稱即可。
osql在執行完參數 –i 所指定之檔案中的程式碼後,會立即顯示查詢結果並跳離osql
範例:
   osql –E  -i C:\sq12kDemo\Binn\MyQuery.sql
    –o output_file
借助此參數 -o 可以將osql所傳回的查詢結果存放至output_file引數所指定的檔案中。
範例:
osql –E  –i C:\sq12kDemo\Binn\MyQuery.sql  -o C:\Temp\Result.txt
    –p
表示要求顯示執行速度統計資訊。

    –R
會使得SQL Server ODBC驅動程式採用前端的設定來將貨幣、日期、時間資料轉換成字元資料。
    –u
如果加入參數 -u 則不論 –i input_file引數所指定的檔案是OEMUniCode格式,參數 -o output_file引數所指定的檔案都將以UniCode格式存檔。

GO命令
表示結束一個批次並執行所有目前被快取的Transact-SQL命令敘述。
若在GO命令之後跟著一個整數,則要求執行某一個命令多少次。
範例:
SELECT var = 2
GO 50
表示執行SELECT var = 2 命令50次。

RESET命令
可清除鍵入的命令敘述,將列號歸為1

QUITEXIT命令
如果想要跳離osql時,則鍵入QUITEXIT命令並按下Enter鍵。
其中EXIT命令能夠於osql中傳回查詢結果 EXIT(query)
範例:
如果想要將查詢結果中的資料記錄筆數傳回,則寫成:
EXIT(SELECT @@rowcount)

此外亦可內含EXIT參數使之成為批次檔的一部分。
範例:
假設撰寫一個內容如下的批次檔MyQuery.bat
osql –U %1 –E –d %2 –Q “EXIT(SELECT COUNT(*) FROM %3)”
則在視窗作業命令提示字元下可輸入
myquery alex Northwind Customers

如果EXIT命令的小括號中並未擁有任何命令敘述,如 EXIT(),則會先執行其之前所有的命令敘述然後跳離osql

ED命令
可使用ED來呼叫目前位於查詢緩衝區中的編輯器(預設為edit),亦可使用環境變數EDITOR來定義緩衝區中的編輯器。
範例:
於視窗作業系統的命令提示字元鍵入
SET EDITOR=notepad
!!命令
用來執行作業系統命令,只需將所要執行的作業系統命令擺在!!命令之後即可。

插入註解
SQL Server允許的註解形式有兩種:
1.      --註解文字
2.      /*..註解文字..*/


沒有留言:

用頭腦去思考,不要人云亦云才好, 宗教信徒就是依賴與自私心態(求東求西)的人, 光是這點就很容易暴露弱點了, 難怪seafood吃飽飽,哈哈。 續上, 除了依賴與自私心態(兩者都是人性)之外。 另外也有很大一部份的人,是人云亦云的思考邏輯, 所以宗教才能譁眾取寵。