【发布时间】:2017-12-08 19:33:27
【问题描述】:
我正在尝试用 C# 编写一个应用程序,它将一个包含多个用逗号分隔的值的变量传递给存储过程
string state = "AZ, CA, VA"
我希望我的存储过程返回变量中每个状态的所有数据
CREATE PROCEDURE usp_GetStateInfo
@state varchar(2)
SELECT * FROM StateTable WHERE state IN (@state)
但是当我执行上面的代码时,我收到一条错误消息,提示“语法不正确” 我做错了什么,我该如何解决?
谢谢
【问题讨论】:
-
使用单引号:"'AZ', 'CA', 'VA'"
-
我假设您说的是 SQL-server (T-SQL)?您当前调用该过程的代码是什么?
-
网上也有关于如何在sql中使用保留字
IN的例子你试过google搜索吗? -
我现在遇到的问题是在创建存储过程时。每当我尝试执行存储过程时,它都会给我错误
-
@DylanNicholson 的可能副本是您想要的。
IN在列表中查找值。字符串不是列表。您可以发送一个表值参数 - 值列表 - 然后加入它。
标签: c# sql stored-procedures in-operator