【发布时间】:2017-02-28 00:04:23
【问题描述】:
我创建了一个表和存储过程,以通过 reportnet 上的 GUI 将数据插入表中,但没有插入数据,所以我回来检查我的插入存储过程中是否有任何错误。
我尝试将存储过程执行为
EXEC DBO.Tablename 'param1','Param2'
等等。我不知道我是否正确执行了它,但它会出错,因为应该再提供一列。有人可以帮我如何执行存储过程来插入值吗?
这是我用来创建存储过程的代码:
Create Procedure dbo.abc_insert
@queryaction Varchar(6),
@a varchar(8),
@b varchar(16),
@c varchar(8),
@d varchar(16),
@e varchar(8),
@f DATETIME(16)
Declare @g DATETIME,
@Msg Varchar(max),
-- Variable initialization
select @g=processdate from util.dbo.processdate
-- validate @queryaction
IF @queryaction not in ('insert','delete') or @a is null
begin
set @msg='error'
Raiserror (@msg,18,1);
return
end
--INSERT
if @queryaction ='insert'
insert into dbo.abc_insert (a, b, c, d, e, f, g)
values (@a, @b, @c, @d, @e, @f, @g)
我正在尝试执行此查询并首先检查它是否正常工作以查看任何编码错误。
我尝试这样执行:
EXEC dbo.abc_insert 'a', 'b', 'c', 'd', 'e', 'f'
--(g value will be taken from process date so not entering g value)
执行this is时,出现此错误:
过程或函数 abc_insert 需要参数 @f,但未提供该参数。
【问题讨论】:
-
请向我们展示您已经完成的工作,然后社区中的某个人将能够帮助您。
-
可以分享一下代码吗?
-
我希望我现在明白了
标签: sql-server stored-procedures