SQL Server:テーブル名を変数に代入してSQLを実行するサンプルストアドプロシージャ

SQL Server:テーブル名を変数に代入してSQLを実行するサンプルストアドプロシージャ

テーブル名を引数として受け取って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'

コメント

タイトルとURLをコピーしました