Informix SQL 11.5 创建没有临时表的存储过程
Posted
技术标签:
【中文标题】Informix SQL 11.5 创建没有临时表的存储过程【英文标题】:Informix SQL 11.5 creating stored procedure without temporary table 【发布时间】:2020-09-09 12:16:39 【问题描述】:我没有创建临时表那样的数据库权限,我可以编写和执行存储过程吗?
这段代码:
CREATE PROCEDURE "informix".proc()
select * from table1;
end procedure
导致此错误:
SELECT 语句需要 INTO TEMP 表。
还有这段代码:
CREATE PROCEDURE "informix".proc()
select * from table1
into temp_table1;
end procedure
导致此错误:
只有 DBA 可以为其他用户创建、删除、授予或撤销。
谁能帮忙?
【问题讨论】:
请注意,Informix 11.50 已经停止服务几年了,11.70 将在 2020 年 9 月结束服务。您应该打算升级到版本 14.10。 【参考方案1】:“只有 DBA 可以创建....”错误是因为您正在尝试创建属于“informix”的过程并且您的用户缺少 DBA 权限。基本上,您不能创建属于其他人的对象。如果您拥有 RESOURCE 权限,您应该能够创建属于您的 SPL。 在 (https://www.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0147.htm) 上阅读它描述了不同的数据库权限以及您可以做什么。
【讨论】:
以上是关于Informix SQL 11.5 创建没有临时表的存储过程的主要内容,如果未能解决你的问题,请参考以下文章
Informix SQL 11.5 — 在 while 循环中访问变量
Informix SQL 11.5 将查询结果存储在具有动态名称的文件中