sql 存储过程拼接动态SQL的问题 sql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建议加个 OUTPUT parameter 来返回生成的 SQL 来检验。 IF (@ParamValue IS NOT NULL) 应该是 IF (LEN(ISNULL(@ParamValue,''))>0 AND LEN(ISNULL(@ParamField,''))>0 ) 还有里面还带中文的话,字段类型应该都改成nvarchar 为什么写这样的语句?这样的方式维护起来简直是噩梦。 多谢指点,我又回头看了下代码,确实是调用的问题,我直接传了个空字符串进去,搞成DBNUll,就可以了 你这么写很累的IF (@ParamValue IS NOT NULL) BEGIN SET @sql = 'select ' + @ReturnField + ' from ' + @TableName + ' where ' + @ParamField+ '=' +'''' +@ParamValue+'''' END改成这样把,如果@ParamValue是null,那么 这一堆@ParamField+ '=' +'''' +@ParamValue+'''' 就是null,那么就是'' 也就是空串SET @sql = 'select ' + @ReturnField + ' from ' + @TableName + ' where 1=1' + ISNULL(@ParamField+ '=' +'''' +@ParamValue+'''', '') 数据库发展史 求sql server重建用户的语句 用了while循环对一年的记录进行操作,但怎么用eof写判断条件啊? SQL Server 2005 打开数据库时提示“索引超出了数组界限。” 为什么我的数据库字段老是被加入恶意脚本啊? 邹捷大哥。。。快来看看:) 语句截取问题!在线等待,急 如何通过参数改变store procedure中查询的order by呢? 一个vfp的问题,在线守候,请大侠指点 为什么SQL SERVER7.0的SA用户一加密码就不能连上数据库了?高分求救!!急急急!! 给一个解决方法,关于大数据量order by的办法 一条简单的SQL语句问题。
BEGIN
SET @sql = 'select ' + @ReturnField + ' from ' + @TableName + ' where ' +
@ParamField+ '=' +'''' +@ParamValue+''''
END改成这样把,如果@ParamValue是null,那么 这一堆@ParamField+ '=' +'''' +@ParamValue+'''' 就是null,那么就是'' 也就是空串SET @sql = 'select ' + @ReturnField + ' from ' + @TableName + ' where 1=1' +
ISNULL(@ParamField+ '=' +'''' +@ParamValue+'''', '')