读书人

一个存储过程参数的有关问题

发布时间: 2012-02-26 20:19:45 作者: rapoo

一个存储过程参数的问题
我建立了一个存储过程:
--------------------输入当前日期存储过程
create procedure 当前日期 @now datetime=null
as
if @now is null
begin
select * from nowTime
return
end
else
begin
insert into nowTime values(@now)
select now as 当前日期 from nowTime
end
如果不带参数显示以前存储的时间,如果带参数(日期格式)则用参数更新。

问题:
如果这样使用:
当前日期 '2007-10-12 18:45:13.717'
运行没有问题。

我想输入系统的当前日期,使用 getdate()作为参数,所以这样使用:
当前日期 select getdate() 或者
当前日期 getdate()
都运行不成功,请问怎样把当前日期getdate()的值直接插进去?谢谢



[解决办法]
declare @s datetime
set @s=getdate()

exec 当前日期 @s
[解决办法]
可以啊

[解决办法]
笨方法是再加一个参数
@n int
@now datetime
......
if(@n=1)
begin
insert into nowTime values(@now)
select now as 当前日期 from nowTime
end
else
begin
insert into nowTime values(getDate())
select now as 当前日期 from nowTime
end
[解决办法]
前台输入的字符串由你去控制,想输系统日期就用
declare @s datetime
set @s=getdate()
exec 当前日期 @s

想输日期就
直接
exec 当前日期 '日期字符串'



[解决办法]
也可以日期都在前台取,在前台取系统日期也很容易
给存储过程参数时,datetime和varchar都可以

[解决办法]
create procedure 当前日期 @now datetime=null
as
if @now is null
begin
select * from nowTime
return
end
else
begin
insert into nowTime values(getdate())
select now as 当前日期 from nowTime
end

读书人网 >SQL Server

热点推荐