我有一个应用程序,用户填写一个表单,然后生成一个相当冗长的查询。作为使用统计程序的一部分,我跟踪并记录用户在数据库中的一个位置执行的所有操作。我有一个存储过程,将适当的值插入此数据库,但是我遇到的问题是插入发生的实际Query。
存储过程
USE [Worktool]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Insert_Usage_Statistics]
-- Add the parameters for the stored procedure here
@Query_VC AS VARCHAR(MAX) = NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
INSERT INTO Usage_Statistics_T
(
Query_VC
)
VALUES
(
@Query_VC
)
END
被调用的例子
exec Worktool.dbo.Insert_Usage_Statistics
@Query_VC = 'SELECT col1 FROM tbl1 INNER JOIN tbl2 ON tbl1.id = tbl2.id WHERE tbl1.id IN ('1','2')'
我收到的错误是围绕IN('1','2')语法。