首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

帮小弟我看看小弟我的SQL语句

2012-12-14 
帮我看看我的SQL语句CREATE PROCEDURE UPLOAD_YESTERDAY_DATA@YESTERDAYdatetimegetdate,@TABLENAMEVARCH

帮我看看我的SQL语句
CREATE PROCEDURE UPLOAD_YESTERDAY_DATA
@YESTERDAYdatetime  =getdate,
@TABLENAMEVARCHAR(100)='ddd',
@ITEMNAMEVARCHAR(100)
AS 
print @YESTERDAY
DECLARE@VSQL1  varchar(2000) ,@VSQL2  varchar(2000)
BEGIN
SET @VSQL1='INSERT INTO [dbo].['+@TABLENAME+']  SELECT* FROM [dbo].[TODAY'+@TABLENAME+'] WHERE  ['+@ITEMNAME+'] < '''+ convert(varchar(10),getdate(),120)+' 00:00:00'''
SET @VSQL2='DELETE FROM [dbo].[TODAY'+@TABLENAME++'] WHERE  ['+@ITEMNAME+'] < '''+ convert(varchar(10),getdate(),120)+' 00:00:00'''
EXEC  (@VSQL1)
EXEC  (@VSQL2)
END

GO
EXEC UPLOAD_YESTERDAY_DATA  @TABLENAME='检测结果二',@ITEMNAME='检测时间'

执行的报错 从字符串转换为 datetime 时发生语法错误。

从字符串转换为 datetime 时发生语法错误。
改成这样也不行,直接语法检查就通不过 奇怪。
@YESTERDAYdatetime  =getdate(),
[最优解释]
 EXEC UPLOAD_YESTERDAY_DATA getdate(),'检测结果二','检测时间'
[其他解释]
我设定默认值就是为了可以不要传这个参数也可以,我刚刚得到答案是,默认值中不可以使用函数只能用常量表示,所以不对。

热点排行