IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

SQLServer Management Studio上のクエリでプロシージャを実行してもSQLBatchとして実行される模様

サンプルのNorthwindで次のクエリをSQLServer Management Studioで実行したら、SQLBatchとして実行されていました。クエリ全体が文字列(下の例でいえば6行全体)として扱われているようです。PreparedStatementとして実行されることを期待していたのですが。。。

Declare @P1 int;  
Exec sp_prepare @P1 output,   
    N'@id int',  
    N'SELECT [EmployeeID],[LastName],[FirstName],[Title] FROM [Northwind].[dbo].[Employees] where EmployeeID = @id';  
Exec sp_execute @P1, 1;  
EXEC sp_unprepare @P1;