首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Sybase >

sybase 12.5.4支持游标嵌套吗?嵌套能支持动态SQL吗?该怎么处理

2012-02-27 
sybase 12.5.4支持游标嵌套吗?嵌套能支持动态SQL吗?sybase 12.5.4支持游标嵌套吗?嵌套能支持动态SQL吗?我

sybase 12.5.4支持游标嵌套吗?嵌套能支持动态SQL吗?
sybase 12.5.4支持游标嵌套吗?嵌套能支持动态SQL吗?



我遇到一个奇怪问题:我写了一个存储过程,用于二个库间转移数据,结构是一样的,这个存储过程用了游标嵌套,嵌套里还用了动态执行SQL。结果我试的时候发现,在一台性能比较差的机上完全可以通过,而在换到很好的服务器上就出问题了。

问题是这样的:存储过程已经执行完全部的insert into 操作,接着就出现一大堆的报错:无效的列名。。。这些列名就是我要动态执行SQL里的表。把动态注释掉,这完全OK。如果说动态执行SQL有问题,但执行过存储过程之后,另一个库的数据全部已经准备转移过来,也就是说动态执行的SQL是没有问题的,感觉好像没关闭游标,CLOSE 和DEALLOCATE我都参照标准来写的,且我在另一台性能比较慢的机上已经执行通过。这问题真是费神,搞了一整天都不知所以然来,望高手指教,谢谢!!

[解决办法]
是支持的,实际上从你实际结果来看,也是支持的,没有看到具体代码,
检查一下两台服务器的设置有何不同,特别是SYBASE的配置
[解决办法]
检查一下数据库LOG的信息,看看有无提示
[解决办法]
将错误信息发出来让大家看一下..
[解决办法]
应该检查你的insert语句
如果用 insert 语句,在没有给出目标表的字段列表时,如果后面的值列表/数据集与表的字段定义不匹配就会出现这个错误。

SQL code
--比如:         CREATE   TABLE   [dbo].[TABLE1]   (     [fk]   [int],     [fv]   [char]   (10))        -- 下面的语句会出现你说的错误:         insert   into   table1   select   name   from   table2         insert   into   table1   values   (123,'345',456)         ... 

热点排行