在我的过程中,我需要有表格的输入参数,并且我需要能够在我的过程中创建多个选择语句。但是,当我开始添加 WHERE 条件时,它们仅适用于数字条件,即其中 number = 1,但它不适用于 text = 'a',因为该语句已经以 ' ' ie 'select...' 打开(请参阅编码)
因此文本条件与左引号冲突。
那么如何添加关于文本的 where 语句呢?
(问题是日期在哪里)
输出如下:
消息 102,级别 15,状态 1,第 23 行
“00”附近的语法不正确。(受影响的 53 行)
我尝试将 where 子句与单独的 ' ' 分开,但没有用。
我尝试在 ' ' 内使用 " 但没有用,并说 '无法识别列名'
我试图将文本视为没有''但没有用的数字。
CREATE PROCEDURE AllRowsAndCount35
@table1 NVARCHAR(128)
AS
BEGIN
DECLARE @SafeTableName AS NVARCHAR(128)
SELECT @SafeTableName = QUOTENAME(TABLE_NAME)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = @table1
DECLARE @sql AS NVARCHAR(MAX) = 'select count(*) as countrows from ' + @SafeTableName + 'where valid_from_etl = 2019-06-24 00:00:00.000'
EXEC(@SQL)
DECLARE @sql2 AS NVARCHAR(MAX) = 'select * from ' + @SafeTableName
EXEC(@SQL2)
END
EXEC AllRowsAndCount35 'Dim_Cluster'
我想要一个显示行数的结果,另一个显示整个表格的单独结果
基本上两个单独的查询基于我输入表名作为输入参数的过程
相反,错误消息是:
消息 102,级别 15,状态 1,第 23 行
“00”附近的语法不正确。