小编use*_*433的帖子

动态 SQL 查询 - 如何将 int 添加到代码中?

考虑:

Declare @stringsvar varchar(1000)
Declare @Emp_id int 
DECLARE  @strvar SYSNAME = 'Employee_test'

SET @stringsvar = ('select * from' + ' ' + @strvar + ' where emp_id' + ' =' + @Emp_id)
Print @stringsvar
Run Code Online (Sandbox Code Playgroud)

上面的查询给出了如下所述的错误:

将 nvarchar 值 'select * from Employee_test where emp_id =' 转换为数据类型 int 时,消息 245,级别 16,状态 1,第 17 行转换失败。

在这种情况下需要做什么?

sql-server sql-injection dynamic-sql t-sql

3
推荐指数
2
解决办法
601
查看次数

Any 和 All sql 子句

select id 
from master_tabe 
where id = ALL (select id from user_table where name = 'Nikhil')

select id 
from master_tabe 
where id = ANY (select id from user_table where name = 'Nikhil')
Run Code Online (Sandbox Code Playgroud)

上面提到的查询返回相同的结果集。据我所知,应该有不同的结果集,因为 user_table 只有一条与姓名 Nikhil 相关的记录。因此,根据此 Any 子句必须返回 1 行,而 All 必须返回 0 条记录。而当我在 user_table 中添加一条记录时,All 子句语句返回 0 行,而 Any 子句仅返回 1 行。

有人可以调查一下吗?

sql-server

2
推荐指数
1
解决办法
83
查看次数

标签 统计

sql-server ×2

dynamic-sql ×1

sql-injection ×1

t-sql ×1