我正在尝试将参数传递给动态查询,但它不起作用。该参数在此报告中定义。以下作品:
select naz_zloze from Slo_zloze where id_zloze=@zloze
以下内容不是:
declare @PytanieSQL nvarchar(max);
set @PytanieSQL='select naz_zloze from Slo_zloze where id_zloze=@zloze'
exec sp_executesql @PytanieSQL
在下面的例子中,它要求我声明标量变量@zloze。 这很奇怪,因为其他论坛帖子表明这应该有效。 任何建议将不胜感激。
添加了: 也许这会有所启发:在我偶然从这个数据集的属性窗口打开查询设计器后,我收到了一条消息"不支持Declare SQL构造或语句。"我正在使用Studio 2013
答案 0 :(得分:0)
如果@zlose
的数据类型是数字,那么
declare @PytanieSQL nvarchar(max);
set @PytanieSQL='select naz_zloze from Slo_zloze where id_zloze=' + @zloze
exec sp_executesql @PytanieSQL
如果@zlose
是字符串,那么
declare @PytanieSQL nvarchar(max);
set @PytanieSQL='select naz_zloze from Slo_zloze where id_zloze=''' + @zloze + '''
exec sp_executesql @PytanieSQL