注册 登录
编程论坛 SQL Server论坛

关于过程调用。提示有错,求大侠改改!

bearlin520 发布于 2010-10-11 21:39, 691 次点击
create procedure upfdatesj
as
declare   @starttime   datetime, @endtime     datetime
select     @starttime='1900-01-01   07:30:00',   
                @endtime='1900-01-01   08:00:00'   
      select   dateadd(second,convert(int,(rand()*datediff

(second,@starttime,@endtime))), @starttime )

update yskq set sj=(select procedure(upfdatesj)) where sj>20:30:00
语法错误请大侠修正!
5 回复
#2
gameohyes2010-10-11 22:33
执行存储过程
exec procName
#3
gameohyes2010-10-11 22:34
程序代码:
create procedure upfdatesj
@va varchar(20) output
as
declare   @starttime   datetime, @endtime     datetime
select     @starttime='1900-01-01   07:30:00',   
                @endtime='1900-01-01   08:00:00'   
      select @va=dateadd(second,convert(int,(rand()*datediff

(second,@starttime,@endtime))), @starttime )

)
--以下三句选择一起执行
declare @va varchar(20)
exec upfdatesj @va output
update temp set sj=(select @va)
#4
bearlin5202010-10-12 15:05
可以使用,但是好像得到的是一个值。版主能不能教教我如何才能让每一个符合修改条件的值得到不同的新值呢?
#5
gameohyes2010-10-12 23:01
sorry没理解意思.要不举个例吧.
#6
bearlin5202010-10-13 08:46
当我执行存储过程时插入的所有数都是07:45:00,可是我要插入的每个数都不一样的。
如果表加上一个check的时候就会提示错误。
1