从存储过程插入表

发布于 2024-11-07 00:52:18 字数 404 浏览 1 评论 0原文

我正在尝试使用包含两个不同游标的存储过程作为表输入,如下所示:

INSERT INTO table1 EXEC * FROM tblDailySales 

存储过程包含两个游标 - 我不只是使用来运行。

我收到以下错误:

名为“csrDistricts”的游标不存在。

我也遇到这个错误

INSERT EXEC 语句不能嵌套

存储过程不包含我可以看到的 EXEC

除了简单的SELECT之外,还有哪些类型的存储过程可以用作表的源?

I am trying to use a stored procedure that contains two different cursors as table input like such:

INSERT INTO table1 EXEC * FROM tblDailySales 

The stored proc contains two cursors - I did not run just using.

I get the following error:

A cursor with the name 'csrDistricts' does not exist.

I also, get this error

An INSERT EXEC statement cannot be nested

The stored proc contains no EXEC that I can see.

What kind of stored proc other than simple SELECT can be used as source for table?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云醉月微眠 2024-11-14 00:52:18

table1 已经定义了吗?如果是这样,您现在需要做的就是

INSERT INTO table1
EXEC storedProcedureName

,诀窍是,存储过程将只能返回一个结果集并插入到表中。

如果需要插入两个不同的结果集,则必须将它们收集在两个不同的存储过程中,然后运行两个 INSERT 语句。

如果您必须立即执行这些操作,则需要从存储过程中执行插入操作。

Is table1 already defined? If so all you should have to do is

INSERT INTO table1
EXEC storedProcedureName

Now, the trick is, the stored procedure will only be able to return one result set and insert into the table.

If you need to insert two different result sets, you'll have to gather then in two different stored procedures, then run two INSERT statements.

If you must do them at once, you'll need to do the insert from within the stored procedure.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文