Sybase IQ 的存储过程中的一些问题
2005-11-02 15:55
381 查看
1.在建立存储过程时,必须要有比较好的编辑工具,否则IQ会帮你把存储过程优化得面目全非:比如连续的赋值语句
select @a1 = 'a1'
select @a2 = 'a2'
select @a3 = a1 + a2
想想结果是'a1a2',但是它会帮你优化为select @a1 = 'a1' ,@a2 = 'a2',@a3 = a1 + a2 ,根据从右到左的原则最后的@a3 为空,见鬼吧!当然避免这种情况的方式是将每句话用begin .. end包起来,但是这绝对麻烦。
2.IQ对引号有自己的理解方式,当你将开关quoted_identifier打开时会发现用""包起来的它都认为是列名而不是字符串常量。所以一般引号中套引号只能是'asdasd''yh''sadasdasd'这种方式
动态sql的局限性:
A.不能在存储过程中返回结果集,只能放在临时表中
B.有些sql语句动态执行会报错(复杂的sql)。
select @a1 = 'a1'
select @a2 = 'a2'
select @a3 = a1 + a2
想想结果是'a1a2',但是它会帮你优化为select @a1 = 'a1' ,@a2 = 'a2',@a3 = a1 + a2 ,根据从右到左的原则最后的@a3 为空,见鬼吧!当然避免这种情况的方式是将每句话用begin .. end包起来,但是这绝对麻烦。
2.IQ对引号有自己的理解方式,当你将开关quoted_identifier打开时会发现用""包起来的它都认为是列名而不是字符串常量。所以一般引号中套引号只能是'asdasd''yh''sadasdasd'这种方式
动态sql的局限性:
A.不能在存储过程中返回结果集,只能放在临时表中
B.有些sql语句动态执行会报错(复杂的sql)。
相关文章推荐
- 写存储过程中涉及到一些游标的问题
- 存储过程中的一些常见问题
- 投票系统的Mysql存储过程遇到的一些问题.
- 常见问题及解决办法 整理之5(一些有用的系统存储过程及用法)
- mysql 存储过程的一些问题
- struts2改spring boot过程中一些问题及解决办法记录
- Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题
- Android秒级编译方案-Freeline集成和使用过程中的一些问题和解决方案
- mysql-5.7.18-winx64安装过程遇到的一些问题
- MySQL存储过程中的sql_mode问题
- 第一次写MySQL存储过程遇到的关于DELIMITER的问题
- 在MySql中建立存储过程和解决insert into select 中主键冲突的问题
- SQL server 存储过程中解决整数参数的传递问题
- 使用javamail发信过程中的一些问题及解决方法
- ORACLE存储过程调用存储过程时commit的问题
- 学习PHP过程中的一些常见代码优化问题
- oracle 存储过程给另一个用户的权限问题
- JdbcTemplate调用存储过程的一些方法:
- 使用SQL存储过程要特别注意的问题-注意顺序读取
- 转 Android学习笔记: 学习过程中碰到的一些问题及解决方法