【问题标题】:Can I create a temporary table in a perl script and access it in stored procedure?我可以在 perl 脚本中创建一个临时表并在存储过程中访问它吗?
【发布时间】:2017-06-09 20:58:35
【问题描述】:

我有一个 perl 脚本,通过它我正在执行一个存储过程 (sybase db)。 在同一个 perl 脚本中,我正在从 .csv 文件中读取记录。不知何故,我想在我的存储过程中获取这些记录。 无论如何我可以在不将这些记录写入数据库的新表的情况下做到这一点。

我想过使用临时表。我可以在 perl 脚本中创建一个临时表并在存储过程中访问它吗?

【问题讨论】:

  • 如果你可以通过 SQL 做到这一点,你肯定可以通过 Perl 做到。

标签: perl stored-procedures sybase


【解决方案1】:

我假设您的存储过程适用于多行数据(否则您可以为每行数据调用一次过程)所以 fwiw ...


一些基础知识 ....

临时表(“#”前缀)与创建它的登录会话相关联。

只要登录会话保持活动状态,#temp 表就可以访问(假设您没有发出“drop table”)。

当登录会话结束时,临时表消失。

临时表不能被另一个登录会话访问。


只要 perl 脚本使用相同的登录会话(也称为连接)对临时表执行所有操作(创建表、插入、选择),您的 perl 脚本就应该能够创建、填充和查询临时表。

如果要访问临时表,还需要在同一个登录会话中调用您的存储过程。

【讨论】:

    猜你喜欢
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多