yaok20004 发表于 2008-03-19 14:38

存储过程报错 -临时表

存储过程里面 有select **** from table into temp t_table 的临时表用法 执行时候报错- 264: Could not write to a temporary file.
这个是什么意思?怎么解决啊?

liaosnet 发表于 2008-03-19 15:19

回复 #1 yaok20004 的帖子

提供ISAM错误号~~~

可能的原因是tmp目录权限不对~~

yaok20004 发表于 2008-03-19 16:25

这个错误号是什么?不懂, 没有显示出来的错误号. 就我贴的这个错误信息的 没发现ora- 或者sql1234这样的信息

yaok20004 发表于 2008-03-19 16:36

select **** from a
union all
select **** from b
union all
select *****from c
into temp t_table

这么写好象是造成错误的原因 能改成如何写?
写成
select * from
(select **** from a
union all
select **** from b
union all
select *****from c
) aa
into temp t_table
会报错

liaosnet 发表于 2008-03-19 16:39

额..你使用dbaccess

任意选择一个表测试一下.
select * from tab_a into temp tab_b;看一下错误信息..应该有两条的.

yaok20004 发表于 2008-03-20 11:52

还是不行 ,任意表可以写入
create procedure test1()
select * from kmdhb into temp temptable;
insert intotemptable
select * from kmdhb;
end procedure ;

insert 的每个字段长度类型需要匹配已经建立的临时表么?
我现在是 select *** from tab1 into temptab;
            insert into temptab select *** from tab2
         insert into temptab select *** from tab3
    insert into temptab select *** from tab4 我检查每个tab字段是符合的,还是报264那个错
找资料是说 -264 错误的描述:不能写临时文件。
系统的操作:含有错误的语句不被处理。
更正的方法:检查C-ISAM错误信息以找出问题的原因。
我在查错误语句,但是 如何检查C-ISAM错误信息??

[ 本帖最后由 yaok20004 于 2008-3-20 11:56 编辑 ]

liaosnet 发表于 2008-03-20 13:55

回复 #6 yaok20004 的帖子

如果你是在dbaccess 下执行的这个存作储过程的话,能返回ISAM错误信息的...

yaok20004 发表于 2008-03-20 15:19

恩 果然 disk space 不足 谢谢

yaok20004 发表于 2008-03-20 16:01

..但是我找不到怎么扩展临时空间,这里没dba 在哪儿查看'默认临时表空间'的位置
页: [1]
查看完整版本: 存储过程报错 -临时表