今晚真的遇到鬼了!

LWH008 2006-11-18 11:25:14
前几天都还运行得好好的procedure ,今天突然出现很多错误,经查,都是如下形式的procedure导致的:

------------------------------
CREATE PROCEDURE test

WITH ENCRYPTION
AS

set nocount on
select top 1 * into #TMP from TBL
select * from #TMP where AMOUNT>100 --提示[列名 "AMOUNT" 无效]

GO
exec test
DROP PROCEDURE test
------------------------------

这个提示是在delphi前端调用时的错误信息,但在查询分析器里正常。
如果在最后一句里不指出某个字段名(比如AMOUNT),不会提示出错。
当然我也知道避免的方法,就是把它套在引号内由exec来执行。
但是我就纳闷了:为什么同样的写法,以前就没有问题? 我今晚是看到过电脑右下角的状态条上说是在自动升级什么的,后来就成了这样子。
我重新装了sp4,依旧。

请问各位,有没有遇到过这样的问题啊? 今晚别睡了看来。
...全文
248 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LWH008 2006-11-19
  • 打赏
  • 举报
回复
只有先睡了
LWH008 2006-11-19
  • 打赏
  • 举报
回复
应该说,前端只管调用,取procedure的结果拿走就好,删除临时表是SQL的事。何况,以前一直都可以这样用法呢,说明delpphi还是支持的。是么?
dawugui 2006-11-19
  • 打赏
  • 举报
回复
临时表是SQL的.至于用到的开发语言如JAVA,DELPHI,PB,VB是否支持很难说.
LWH008 2006-11-19
  • 打赏
  • 举报
回复
TO dawugui(潇洒老乌龟) : 你的办法是把临时表换成普通表来用,当然好。可是为什么以前ok现在就不行了呢? 

哪些朋友是用delphi的,要不也试试,看看你们的结果是不是一样的呢?我最担心提只有我才是这样子的~~
xiao_deng 2006-11-19
  • 打赏
  • 举报
回复
睡了,,明天起来,,说不定会好了
dawugui 2006-11-18
  • 打赏
  • 举报
回复
CREATE PROCEDURE test

WITH ENCRYPTION
AS

set nocount on
select top 1 * into TMP from TBL
select * from TMP where AMOUNT>100
GO
exec test
DROP PROCEDURE test

drop table tmp
hhhdyj 2006-11-18
  • 打赏
  • 举报
回复
关注。。。
xiaoku 2006-11-18
  • 打赏
  • 举报
回复
还是睡觉去吧
见鬼也行了。。。

34,576

社区成员

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

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