CREATE PROCEDURE getRecords
AS
@dtmBdate datetime = '1990-01-01',
@dtmEdate datetime = getdate() select * from TabLC where dealdate between @dtmBdate and @dtmEdate
AS
@dtmBdate datetime = '1990-01-01',
@dtmEdate datetime = getdate() select * from TabLC where dealdate between @dtmBdate and @dtmEdate
哥们,不对吧,你把我说的两个参数当变量处理了,好象语法也是错误
你的写法错误,应该是:CREATE PROCEDURE getRecords
AS
declare @dtmBdate datetime
declare @dtmEdate datetime set @dtmBdate= '1990-01-01'
set @dtmEdate = getdate() select * from TabLC where dealdate between @dtmBdate and @dtmEdate
@dtmBdate datetime = '1990-01-01',
@dtmEdate datetime =[getdate()]
AS
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
CREATE PROCEDURE getRecords
@dtmBdate datetime,
@dtmEdate datetime
AS
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
GO
那就是: cbzdream(迷茫) 的写法。
AS
if @dtmEdate is null
begin
select @dtmEdate = getdate()
end
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
如果是第一中情况,应该写成
CREATE PROCEDURE getRecords
@dtmBdate datetime,
@dtmEdate datetime
AS
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
GO
具体的付值,是在调用存储过程的时候。如果是第二中情况,就是用
CREATE PROCEDURE getRecords
AS
declare @dtmBdate datetime
declare @dtmEdate datetime set @dtmBdate= '1990-01-01'
set @dtmEdate = getdate() select * from TabLC where dealdate between @dtmBdate and @dtmEdate
------------
alter PROCEDURE getRecords
@dtmBdate datetime,
@dtmEdate datetime
AS
select * from #TabLC where dealdate between convert(datetime,@dtmBdate) and @dtmEdate------调用---------------------------------------
declare @k datetime,@s datetime
set @k=convert(datetime,'1990-01-01')
set @s=getdate()
exec #getRecords @k,@s
AS
declare @dtmBdate datetime
declare @dtmEdate datetime set @dtmBdate= '1990-01-01'
set @dtmEdate = getdate() select * from TabLC where dealdate between @dtmBdate and @dtmEdate
在用的时候直接执行就可以了,不需要传参数exec getRecords
CREATE PROCEDURE getRecords
@dtmBdate datetime = '1990-01-01',
@dtmEdate datetime = null
AS
if @dtmEdate is null
@dtmEdate = getdate
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
GO
CREATE PROCEDURE getRecords
@dtmBdate datetime = '1990-01-01',
@dtmEdate datetime = null
AS
if @dtmEdate is null
@dtmEdate = getdate()
select * from TabLC where dealdate between @dtmBdate and @dtmEdate
GO