Sql server 通过存储过程将数据插入表中

Sql server 通过存储过程将数据插入表中,sql-server,stored-procedures,Sql Server,Stored Procedures,我创建了一个表和存储过程,以便通过reportnet上的GUI将数据插入表中,但并没有插入数据,所以我回来检查插入存储过程中是否有任何错误 我尝试按如下方式执行存储过程 EXEC DBO.Tablename 'param1','Param2' 等等,我不知道我是否正确地执行了它,但它出错了,因为应该再提供一列。有人能帮助我如何执行存储过程来插入值吗 这是我用来创建存储过程的代码: Create Procedure dbo.abc_insert @queryaction Var

我创建了一个表和存储过程,以便通过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)
执行此is时,会发生以下错误:

过程或函数abc_insert需要参数@f,但未提供该参数

变量@f DATETIME16的类型错误


should相当简单@f DATETIME

,您需要传递所有必需的参数,即首先是@queryaction,然后是六个值。您当前仅发送六个值,但查询操作不发送任何值:

EXEC dbo.abc_insert 'a', 'b', 'c', 'd', 'e', 'f' 
您还需要提供@queryaction值

EXEC dbo.abc_insert 'insert', 'a', 'b', 'c', 'd', 'e', 'f' 

注意:@f DATETIME 16在您的创建脚本中应该是@f DATETIME

请向我们展示您已经完成的工作,然后社区中的某个人将能够帮助您。您可以分享代码吗?我希望我现在有点道理
declare @dt as datetime = getdate() 
EXEC    abc_insert 'insert', 'a','b', 'c','d','e',@dt