解决在SQL脚本中的注释引起的奇怪问题
程序员文章站
2023-11-12 14:29:52
在数据库安装包中,我们通过osql.exe这个工具来对相关的数据库脚本进行更新,昨天突然发现安装包报错了,说脚本错误,但我们将脚本拿到数据库查询分析器中执行,一切ok。 问...
在数据库安装包中,我们通过osql.exe这个工具来对相关的数据库脚本进行更新,昨天突然发现安装包报错了,说脚本错误,但我们将脚本拿到数据库查询分析器中执行,一切ok。
问题出在哪里呢?
通过使用osql单独来执行报错的脚本,打印相关信息:
osql.exe -s .\sqldev -u sa -p myroot -b -n -r 1 -i ".\updatetable.sql" -o "c:\hahah.txt"
@echo %errorlevel%
@pause
得到如下错误信息:
osql missing end comment mark "*/"
晕倒,说我的注释符缺少了,可根本没有少啊。
最后发现,原来是在注释语句中存在 go 语句的问题,如下:
/* ........... go */
拿掉后,一切正常了,看来这也算是osql工具的一个小bug吧。
问题出在哪里呢?
通过使用osql单独来执行报错的脚本,打印相关信息:
复制代码 代码如下:
osql.exe -s .\sqldev -u sa -p myroot -b -n -r 1 -i ".\updatetable.sql" -o "c:\hahah.txt"
@echo %errorlevel%
@pause
得到如下错误信息:
osql missing end comment mark "*/"
晕倒,说我的注释符缺少了,可根本没有少啊。
最后发现,原来是在注释语句中存在 go 语句的问题,如下:
/* ........... go */
拿掉后,一切正常了,看来这也算是osql工具的一个小bug吧。