博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
exec sql 中时,中间含--注释时要小心
阅读量:6848 次
发布时间:2019-06-26

本文共 592 字,大约阅读时间需要 1 分钟。

有时在sql操作中,一个表作为变量,而这个表的名字又是要根据时间作为后缀的,所以不能直接执行

所以只好作为一个变量传入,如下面的代码片断

set @AlarmTable = 'D_Alarm_Log' + SUBSTRING(convert(varchar(20), getdate(), 112), 1,6)........    -- 增加对象名称    if  not exists  (select * from syscolumns where id = object_id(N'[dbo].['+@AlarmTable+']') and name='Object_Name')    begin        set @sql = 'ALTER TABLE ' + @AlarmTable + ' ADD Object_Name varchar(128)'        print @sql        execute(@sql)    end

这种exec @sql的方式中,只要里面有一个--本来是想注释当前行的,但结果入到@sql中时,--后面的所有语句都被注掉了.

这种事要小心不是把@sql print出来也不好确认....

转载于:https://www.cnblogs.com/vimmer/archive/2012/09/14/2684919.html

你可能感兴趣的文章
javaScript的调试(四)
查看>>
nginx不使用正则表达式匹配
查看>>
利用putty进行vnc + ssh tunneling登录
查看>>
js重定向---实现页面跳转的几种方式
查看>>
hadoop1.x作业提交过程分析(源码分析第二篇)
查看>>
默认安装vsftpd后
查看>>
《Redis设计与实现》读书笔记
查看>>
waiting for changelog lock.
查看>>
小白学爬虫-批量部署Splash负载集群
查看>>
你离BAT之间,只差这一套Java面试题
查看>>
laravel package 推荐,数据备份
查看>>
Synchronized锁在Spring事务管理下,为啥还线程不安全?
查看>>
环境变量PATH cp命令 mv命令 文档查看cat/more/less/head/tail
查看>>
阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型...
查看>>
dubbo源码分析-服务端发布流程-笔记
查看>>
阿里云发布Apsara SA系列混合云存储阵列
查看>>
GoJS教程:链接模版
查看>>
QListWidget方式显示缩略图
查看>>
金三银四:蚂蚁金服JAVA后端面试题及答案之二面
查看>>
Ubuntu 外网不通解决方案
查看>>