我正在尝试执行以下操作:
通过 C++ 代码创建一个包含键/值列和值的 tmp 表 (sybase db)
创建一个 sp,我将在其中执行“select * from #tmpTable”
从 C++ 代码调用此 sp。
但是我遇到了一个问题:我无法创建这样的存储过程。 有一个错误,该表不存在(这是真的)。
那么,我可以换个方式吗,或者有什么技巧吗?
我的 sp 示例:
create procedure my_sp
as
begin
if OBJECT_ID('#tmpTable') is not null
select key, value from '#tmpTable'
end
最佳答案
您可以在编译 sp 时将临时文件创建为同一 session 的一部分。这将允许 sybase 编译您的 sp。为此,您将需要 tmp 表定义。试试下面-
use databasename
go
create table #tmpTable (key [keydatatype], value [valuedatatype], .....)
create procedure my_sp
as
begin
if OBJECT_ID('#tmpTable') is not null
select key, value from '#tmpTable'
end
关于c++ - 从存储过程中的临时表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39391540/