请教有关根据判断条件进行SQL语句拼接的问题
现在有一个SQL语句,
例如:SELECT .... from tt WHERE ...
然后我想根据一个传入的值判断是否还要加一个" AND 字段名=值"的条件
我声明了一个变量,然后用IF来进行赋值,但是没有成功,我用的是'+'来连接的,
结果查询把它当成一个值,而不是SQL的一部分,请教各位大侠,谢谢!
用动态SQL执行
给你写个例子
SQL code:
declare @tt varchar(100),@sql varchar(200)
set @sql='select * from where tt='+@tt
exec(@sql)
SQL code:
DECLARE @SQL NVARCHAR(4000)
SET @SQL=N'SELECT * from tt WHERE 1=1'
DECLARE @WHERE NVARCHAR(4000)
DECLARE @NUM INT
SET @NUM=1
IF(@NUM>0)
SET @WHERE=ISNULL(@WHERE,'')+' AND NUM='+LTRIM(@NUM)
SET @SQL=@SQL+@WHERE
PRINT @SQL
/*SELECT * from tt WHERE 1=1 AND NUM=1
相关问答:
小弟是个新手 现在有个问题一直不能解决
例如
procedure produce_proc
@p001 nvarchar(8000),
@p002 nvarchar(8000),
@p003 nvarchar(8000),
& ......
C#如何判断连接sql server数据库成功?
try
{
connection.connect()
return true;
}
catch()
{
return false;
}
楼主很着急,开了几贴了。
引用
try
{
connection.connect( ......
table1
名称 入库数
CT机 3
CT机 5
X光机 4 ......
情况是一张表(T)内,每条记录有一个类型字段,当按类型字段来分类查询并分页处理时
(表T内的类型是指向另一张类型表的一个ID值)
我想到了两种方式;
环境:PHP+MYSQL
1、PHP 先执行一条查询得到 ......
sql可以有两个以上的触发器吗??我指的是for触发器,那其他的呢??
什么意思?
可以的
10个都没问题
可是我写了两个for insert 触发器,造成进程阻塞了呢?怎么办呢?请高人指点
......