请大虾帮我看一下,我这个语句什么地方出错了。
create procedure S_test1
@id int
as
begin
declare @total UNIQUEIDENTIFIER
select @total=null
select m.id,m.username from dbo.test m where id=@id
select @total=m.id
end
go
运行提示:
服务器: 消息 107,级别 16,状态 2,过程 S_test1,行 8
列前缀 'm' 与查询中所用的表名或别名不匹配。
问题点数:20、回复次数:21Top
1 楼kun_ge(赵祥坤)回复于 2005-08-04 01:10:33 得分 0
在线等,急!!!Top
2 楼zhilunchen(他山居士)回复于 2005-08-04 01:14:00 得分 0
select @total=m.id错了Top
3 楼zhilunchen(他山居士)回复于 2005-08-04 01:14:45 得分 0
你这个存储过程是做什么的啊?Top
4 楼kun_ge(赵祥坤)回复于 2005-08-04 01:18:24 得分 0
去表test的字段并赋值给@totalTop
5 楼kun_ge(赵祥坤)回复于 2005-08-04 01:19:26 得分 0
应该怎么写呢?请大峡指教,谢谢!!!Top
6 楼zhilunchen(他山居士)回复于 2005-08-04 01:20:29 得分 0
@total变量作什么用?讲讲整个存储的目的是什么?Top
7 楼zhilunchen(他山居士)回复于 2005-08-04 01:21:15 得分 0
快点讲啊?Top
8 楼zhilunchen(他山居士)回复于 2005-08-04 01:25:34 得分 0
不讲?看这样行不行?把这两句
select m.id,m.username from dbo.test m where id=@id
select @total=m.id
合并为:
select @total=m.id,m.username from dbo.test m where id=@idTop
9 楼kun_ge(赵祥坤)回复于 2005-08-04 01:30:08 得分 0
就是把表test中查出来的记录赋值给@total.Top
10 楼kun_ge(赵祥坤)回复于 2005-08-04 01:31:16 得分 0
你的这个语句好象不行Top
11 楼kun_ge(赵祥坤)回复于 2005-08-04 01:31:55 得分 0
就是把表test中查出来的记录赋值给@total.(就是id字段的值)
Top
12 楼zhilunchen(他山居士)回复于 2005-08-04 01:37:26 得分 0
如果是这样,上面的语句肯定行的.Top
13 楼kun_ge(赵祥坤)回复于 2005-08-04 01:37:59 得分 0
就是把表test中查出来的记录字段id赋值给变量@total.Top
14 楼kun_ge(赵祥坤)回复于 2005-08-04 01:39:09 得分 0
服务器: 消息 141,级别 15,状态 1,过程 S_test1,行 14
向变量赋值的 SELECT 语句不能与数据检索操作结合使用。
Top
15 楼zhilunchen(他山居士)回复于 2005-08-04 01:39:18 得分 0
试试吧!但你的存储过程有问题,因为赋给@total之后,并没有使用@total的值,也没有返回@total的值,你这个存储过程有什么用呢?不明白!Top
16 楼zhilunchen(他山居士)回复于 2005-08-04 01:43:36 得分 0
而且你要取的值就是存储过程的参数值,编个存储过程又有什么用呢?Top
17 楼syfsz(黄金分割点)回复于 2005-08-04 01:46:25 得分 0
zhilunchen(他山居士) 人品不错。Top
18 楼kun_ge(赵祥坤)回复于 2005-08-04 01:50:13 得分 0
我要把数据取出来,赋给变量,接下来就要编写,操作了,Top
19 楼kun_ge(赵祥坤)回复于 2005-08-04 01:50:31 得分 0
谢谢你的帮助!Top
20 楼zhilunchen(他山居士)回复于 2005-08-04 01:57:27 得分 0
你test表的id是整型字段,和@total(GUID,16位)是不兼容的啊.Top
21 楼zhilunchen(他山居士)回复于 2005-08-04 01:59:36 得分 0
如果按你的现在的思路,无法实现.Top




