存储过程执行出错

rockyan001 2009-09-20 12:01:47
语法检查能通过,但执行说有语法错误,都有哪些原因?常用的排错方法有哪些?谢谢,急死我了,
...全文
92 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
华夏小卒 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 htl258 的回复:]
SQL code'select * from biao where A='''+@a+''''
[/Quote]up
htl258_Tony 2009-09-20
  • 打赏
  • 举报
回复
'select * from biao where A='''+@a +''''
wag_enu 2009-09-20
  • 打赏
  • 举报
回复
'select * from biao where A="’+@a+'"'
rockyan001 2009-09-20
  • 打赏
  • 举报
回复
找到地方了
原因是动态执行语句
‘select * from biao where A=’+@a 出错
A是字符串,执行是@a应该加引号,但是不知道怎么加,还请指教!!
7761098 2009-09-20
  • 打赏
  • 举报
回复
先不要加try catch,不然的话很难locate到错误的地方
然后代码执行的每一步都加上error 判断
发现错误的地方然后print相关调试信息
lg314 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 feixianxxx 的回复:]
存储过程 怎么PRINT?
[/Quote]


create proc dd
as
print '1'
go

dd


1


lg314 2009-09-20
  • 打赏
  • 举报
回复
可能是动态SQL语句里面的语法错了
zhengduan964532 2009-09-20
  • 打赏
  • 举报
回复
在输出结果之前加一个print试试,看看输出结果是什么。。然后判断
feixianxxx 2009-09-20
  • 打赏
  • 举报
回复

存储过程 怎么PRINT?
--小F-- 2009-09-20
  • 打赏
  • 举报
回复
一般是用print出来看看
htl258_Tony 2009-09-20
  • 打赏
  • 举报
回复
把代码贴出来看看。
fanzhouqi 2009-09-20
  • 打赏
  • 举报
回复
调试,或者把关键的地方 print出来
SQL77 2009-09-20
  • 打赏
  • 举报
回复
‘select * from biao where A=’+@a 
A是数值型的话用
DECLARE @SQL NVARCHAR(4000)
SET @SQL='select * from biao where A='+LTRIM(@a)+''
EXEC(@SQL)

如果是字符型
DECLARE @SQL NVARCHAR(4000)
SET @SQL='select * from biao where A='''+@a+''''
EXEC(@SQL)
luoyoumou 2009-09-20
  • 打赏
  • 举报
回复
--呵呵:熟能生巧,看多了,哪个地方颜色不对,都知道是哪里错了......

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧