参数化查询 [英] Parameterized query
问题描述
我想检查sqlserver中的临时表是否存在,如果存在,则删除并按如下方式创建:
I want to check if the temp table in sqlserver exists or not, if exists then drop and the create as follows:
如果OBJECT_ID('#orders')不是空DROP TABLE #orders
从1 = 2的订单中选择* INTO#个订单
IF OBJECT_ID('#orders') IS NOT NULL DROP TABLE #orders
SELECT * INTO #orders from orders WHERE 1=2
但是我需要通过C#中的参数化查询来实现.我尝试如下:
But I need it through parameterized query in C#. I have tried as follows:
SqlCommand sqlcmd =新的SqlCommand("IF OBJECT_ID(@t)IS NOT NULL DROP TABLE @t",sqlcon);
sqlcmd.CommandType = CommandType.Text;
sqlcmd.Parameters.AddWithValue("@ t","#Orders");
sqlcmd.ExecuteNonQuery();
SqlCommand sqlcmd = new SqlCommand("IF OBJECT_ID(@t) IS NOT NULL DROP TABLE @t", sqlcon);
sqlcmd.CommandType = CommandType.Text;
sqlcmd.Parameters.AddWithValue("@t", "#Orders");
sqlcmd.ExecuteNonQuery();
但是它给出了异常"@ t1附近的语法不正确"
But it gives exception "Incorrect syntax near @t1"
推荐答案
您应发布到T-SQL的SQL Server论坛
You should post to the SQL Server forum for T-SQL
https://social.msdn.microsoft.com/Forums/sqlserver /en-us/home?forum = transactsql
这篇关于参数化查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!