都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その8 ( GO! ) -

 SQL Server Management Studio を使っていれば、よく使ってる Transact-SQL の関数である『GO』。あまりにも簡単なコマンドなので、MSDN も参照することもないかと。

GO は Transact-SQL ステートメントではなく、sqlcmd および osql ユーティリティと SQL Server Management Studio コード エディターで認識されるコマンドです。
SQL Server のユーティリティでは、GO は、現在の Transact-SQL ステートメントのバッチを SQL Server インスタンスに送信するためのシグナルとして解釈されます。 現在のステートメントのバッチは、前回の GO の後に入力されたすべてのステートメントで構成されます。最初の GO の場合、現在のバッチは、アドホック セッションまたはスクリプトの開始後に入力されたすべてのステートメントで構成されます。

 SQL Server Management Studio で下記のクエリを実行してみましょう。

USE AdventureWorks2016CTP3
SELECT 
    *
FROM
    Person.Address
GO 5

f:id:koogucc11:20160306090309p:plain

 GO の後に指定した回数分(今回は5回)実行してくれます。個人的には、回数と実行間隔(秒)が指定できるとより便利かなと思ったり....あ、WAITFOR 使えば同じことできるか。下記のクエリを SQL Server Management Studio で実行してみましょう。5秒毎にクエリが実行されます。

USE AdventureWorks2016CTP3
SELECT 
    *
FROM
    Person.Address
WAITFOR DELAY '00:00:05'
GO 5

 WAITFOR については、過去の記事でも触れてますね。
ryuchan.hatenablog.com

※そろそろ心機一転、新しいバッグ買おうかな。
m-piu.com
www.seal-store.net

※あと、そろそろ他の DBMS も勉強しようかな。MySQL はなんとなく Oracle 色が強いし、PostgreSQL かなぁ。

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)

PostgreSQL全機能バイブル

PostgreSQL全機能バイブル

PostgreSQL徹底入門 第3版

PostgreSQL徹底入門 第3版