存储过程的参数,默认为 year(getdate())为什么不可以?

zj181314 2004-12-06 11:06:46

create procedure xxx
@year int = (year(getdate()))
as
return @year

为什么不可以
...全文
153 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyhyy23 2004-12-06
  • 打赏
  • 举报
回复
create procedure xxx
@year int
as
begin
select @year=(year(getdate()))
return @year
end
go
yyhyy23 2004-12-06
  • 打赏
  • 举报
回复
要做一次转换
WYC2300 2004-12-06
  • 打赏
  • 举报
回复
create procedure xxx
@year int=null
as
begin
select @year=(year(getdate()))
return @year
end
yyhyy23 2004-12-06
  • 打赏
  • 举报
回复
create procedure xxx
@year int = cast((year(getdate())) as int)
as
return @year
zj181314 2004-12-06
  • 打赏
  • 举报
回复
??
jackluo1981 2004-12-06
  • 打赏
  • 举报
回复
create procedure xxx
as
begin
select @year=(year(getdate()))
return @year
end
jackluo1981 2004-12-06
  • 打赏
  • 举报
回复
crate procedure xxx
as
begin
select @year=(year(getdate()))
return @year
end
zj181314 2004-12-06
  • 打赏
  • 举报
回复
也就是我想 得到当前年份为默认参数。
zj181314 2004-12-06
  • 打赏
  • 举报
回复

算了

create procedure xxx
@year int = null
as
if @year is null
begin
@year = year(getdate())
end
。。。

只好这样做了。

还是要感谢各位,给分啦!! *^_^*
zj181314 2004-12-06
  • 打赏
  • 举报
回复

哎~~~ 难道真的不行吗?
comszsoft 2004-12-06
  • 打赏
  • 举报
回复
getdate()是动态改变的,不能用来做形参
zclxyh 2004-12-06
  • 打赏
  • 举报
回复
create procedure xxx
@year int out
as
begin
select @year=(year(getdate()))
return @year
end
go

34,591

社区成员

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

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