如何在存储过程中调用存储过程? [英] How to call stored procedure inside stored procedure?

查看:159
本文介绍了如何在存储过程中调用存储过程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在 SQL Server 2008 中定义一种用户定义的表类型.

I am defining one user defined table type in SQL Server 2008.

这是代码

CREATE TYPE [dbo].[PayElementTable] AS TABLE(
    [EffDate] [varchar](30) NULL,
    [PayEle] [varchar](50) NULL,
    [ComType] [varchar](50) NULL,
    [Oper] [varchar](20) NULL,
    [Amount] [decimal](10, 2) NULL,
    [Rowno] [varchar](10) NULL
)
GO

然后我创建一个过程sptemptable

CREATE PROCEDURE sptemptable
        @T PayElementTable Readonly,--user type as parameter
    @CTCID int
    AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON; 

END
GO

我想要做的是我想将数据表作为 @T 从 C# 传递并循环遍历上述存储过程中的 @T 记录,并在该循环中我想要调用另一个带参数的存储过程以及如何将参数传递给该过程.

What I want to do is I want to pass datatable as @T from C# and loop through the @T records inside above stored procedure and with in that loop I want to call another stored procedure with parameter and how to pass parameter to that procedure.

我该怎么做?

推荐答案

在另一个内部调用存储过程 :

Calling Stored Procedure inside another one :

Execute yourSPName [coma separated parameter value list]

循环表的记录:

在 SQL 中使用游标

这篇关于如何在存储过程中调用存储过程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆