我正在尝试创建一个存储过程以在存储过程中实现以下功能
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'
请对此代码提供帮助。