sybase - Sybase # 表
问题描述
我正在尝试调试填充#table 的存储过程(比如说proc1),比如说#reserves。该过程没有#reserves 的插入语句,但仍有一些数据被填充到表中,这些数据作为结果集发送到输出。
Proc1 在内部调用 Proc2,它也声明了 #reserves 并填充了一些数据。我的问题是 - Proc2.#reserves 有没有办法将数据发送到 Proc1.#reserves?
下面是示例程序
Create Proc1
As
Begin
Create Table #Reserves
(
id int not null,
value int not null
)
Exec Proc2
Select id,
value
from #Reserves
End
Create Proc2
AS
Begin
Create Table #Reserves
(
id int not null,
value int not null
)
Insert into #reserves
(id, value)
Select 1 as id,2 as value
End
解决方案
每个 proc 都在创建自己的版本#Reserves
(这在 ASE 中是可行的;如果在退出之前proc2
查询 tempdb 的sysobjects
表,您应该会看到 2 个条目name like '#Reserves%'
)。
如果要proc2
填充#Reserves
created by proc1
,请考虑修改proc2
为仅在 create#Reserves
尚不存在时才创建。
推荐阅读
- python - Python:如何在每年年初为每日时间序列数据创建条件?
- google-bigquery - BigQuery 调度:错误代码 3:user_id 的值为 0 无效
- docker-compose - Docker-compose:与 selinux 一起使用
- javascript - 如何在 chart.js 中制作曲线条形图或曲线柱形图?
- angular - Firebase 通知适用于后台和前台
- android - 全屏活动中的状态栏高度
- android - 如何在android studio中创建这样的微调器?
- swift - 选择新按钮后 UICollectionView 不释放内存
- python - 如何将最低键和最低值配对在一起(它应该按从小到大的顺序上升)?
- neo4j - Neo4j 查询执行时间:多次执行同一个查询时,似乎只有第一个是正确的