テーブル名を引数として受け取ってSQLを実行するSQL Serverのストアドプロシージャのサンプル。
SELECT文でFROMに指定するテーブル名を変数化するときの例。
これも覚書したつもりでしてなかったようなので、今更ながら覚書しておく。
テーブル名を変数に代入してSQLを実行するサンプルストアドプロシージャ
SELECT文を実行する対象のテーブルを引数として受け取ってSQLを実行するサンプルストアドプロシージャを以下に記載する。
以下サンプルストアドプロシージャを作成する際のスクリプト。
USE [TEST_DB]
GO
/****** オブジェクト: StoredProcedure [dbo].[OpenTable] スクリプト日付: 12/10/2008 17:06:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[OpenTable]
(
@tbname varchar(50)
)
AS
BEGIN
SET NOCOUNT ON;
exec ('SELECT * from [' + @tbname + ']')
END
上記のスクリプトで作成したストアドプロシージャの実行は、以下のようになる。
DECLARE @RC int
DECLARE @tbname varchar(50)
EXECUTE @RC = [TEST_DB].[dbo].[OpenTable] 't1'
コメント