ストアドプロシージャで次のことを実現するために、ストアドプロシージャを作成しようとしています。
DECLARE @TBLNAME VARCHAR(128)
SET @TBLNAME = SELECT PAR_VALUE FROM DBO.PARAMETERS WHERE PAR_NAME='SALES_ORDERS_TABLE';
テーブルのPAR_VALUE
列には、PARAMETERS
テーブルのテーブルの名前が含まれていSales Order
ます。
ここで、このテーブル名をストアドプロシージャで使用し、このテーブルの行数をカウントします。
DECLARE @SQL NVARCHAR(4000)
@ SQL = SELECT COUNT(*) FROM '[@TBLNAME]'
ただし、これを実行しようとすると、複数のエラーが発生します。
これを行う方法をガイドして私を助けてくれませんか?
私は今このコードを試しました:
CREATE PROCEDURE JCOUNT_SO
AS
DECLARE @TBLNAME NVARCHAR(512)
SELECT @TBLNAME=(SELECT PAR_VALUE FROM DBO.PARAMETERS WHERE PAR_NAME='SALES_ORDERS_TABLE')
DECLARE @SQL NVARCHAR(4000)
SELECT @SQL='SELECT COUNT(*) AS #_OF_RECORDS INTO SO_COUNT
FROM' '+QUOTENAME(@TBLNAME)''
EXEC SP_EXECUTESQL @SQL;
エラーメッセージ:無効なオブジェクト名:'TEST.DBO.SO_MASTER'
このコードを手伝ってください。