チェック (if ステートメント) を実行してから、2 つの可能なプロシージャのうちの 1 つを作成したいと考えています。
現在、IF EXISTS
ステートメント内でCREATE PROCEDURE
ステートメントを使用しようとしています。
CREATE PROCEDURE [dbo].[TestProc]
AS
SET NOCOUNT ON
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER OFF
IF EXISTS (select * from table)
BEGIN
DECLARE @region NVARCHAR(100)
SELECT *
INTO #TempTable
FROM User
... #TempTable などで何かをする..
DROP #TempTable
END
ELSE
BEGIN
DECLARE @region NVARCHAR(100)
SELECT *
INTO #TempTable
FROM User
... #TempTable などで何か他のことをする
DROP #TempTable
END
次の2つのエラーが表示されます
There is already an object named 'TempTable' in the database.
The variable name '@region' has already been declared. Variable names must be unique within a query batch or stored procedure.