如何使用存储过程将当前日期插入表中?

23 浏览
0 Comments

如何使用存储过程将当前日期插入表中?

我有一个名为medium的表格,其中有一个名为medium name和creation date的列。我已经创建了一个存储过程来插入以上两个值。以下是我的存储过程:

alter procedure insertmediumproc
    @MediumName varchar(50), @CreationDate datetime
as 
begin
    insert into medium (MediumName, CreationDate) values (@MediumName, getdate())
end

当我尝试用以下命令将值插入表格时:

exec insertmediumproc Nepali, getdate()

出现以下错误:

Msg 102,Level 15,State 1,Line 1

Incorrect syntax near ')'.

0
0 Comments

错误的原因是在插入存储过程时忘记了在"Nepali"周围加上引号。解决方法是在"Nepali"周围加上引号,并且将插入语句中的MediumName和CreationDate替换为相应的值。如果只需要一个日期,则可以将参数类型从datetime更改为date。尽管如此,依然遇到相同的错误,表中包含Meium Id,MediumName,CreationDate和Status(已经给定默认约束为1)。

0
0 Comments

问题出现的原因是在执行存储过程时,没有正确传入参数。在这个例子中,存储过程的参数是一个VARCHAR类型的字符串和一个日期值。然而,在执行存储过程时,日期值没有用引号括起来。

解决方法是在执行存储过程时,将日期值用单引号括起来。正确的代码应该是:

exec insertmediumproc 'Nepali',getdate()

0
0 Comments

问题的原因是希望将当前日期插入到表中的存储过程中,但不希望将日期作为参数传递。解决方法是在表中使用默认值,并修改存储过程以接受空参数。或者可以修改存储过程如下:

alter procedure insertmediumproc  varchar(50)
as begin
insert into medium (MediumName, CreationDate) values (,getdate())
end

这样就不需要将日期作为参数传递。

0