MSSQLServer和Sybase的一些区别!
好久没来了,死想你们了!
因工作需要使用sybase数据库,以前没碰过sybase,看了两天感觉好别扭(和MSSQLServer相比),暂整理出25点,也不知道对不对!
顺祝各位XDJM中秋、国庆快乐!
1.sybase没有用户自定义函数
2.判断fetch成功的全局变量是@@sqlstatus,不是@@fetch_status
3.没有set,赋值与查询通用select
4.没有top,返回N行要使用set rowcount N / set rowcount 0
5.raiserror 22009 " "--> raiserror( ' ',16,1)
6.游标一定要在过程中使用,不能单独在查询中使用
7.销毁游标要加cursor关键字.如:deallocate cursor cur_tmp
8.没有bigint类型
9.create table #t(id numeric(12,0) identity not null),不支持int型,且不能设置起始值和步进值
10.不能alter一个存储过程,要先drop掉再create
11.没有len函数,使用char_length或datalength等效
12.通过sysindexes中的doampg列可返回某表的行数,rowcnt(doampg)
13.convert函数没有120格式(yyyy-mm-dd hh:mm:ss),需使用select convert(char(4),datepart(year,getdate()))+ '- '+right( '0 '+convert(varchar(2),datepart(month,getdate())),2)+ '- '+right( '0 '+convert(varchar(2),datepart(day,getdate())),2)+ ' '+convert(char(10),getdate(),8)
14.charindex不能从被查找字符串中按指定位置查找某字符串
15.不能使用rtrim函数将数值型转为字符型
16.没有cast函数,数值型到字符型转移使用select convert(varchar(10),123)
17.没有replace函数
18.没有left函数,只有right函数
19.不支持在字段上加[]
20.select语句中不支持变量累加,例如:select @sql=@sql+colname from tablename
21.在过程及视图中系统会自动将select * 变为select 列1,列2...
22.varchar最大支持16384个字节(SQLServer中是8000)
23.sybase不支持表变量
24.sybase不支持instead of触发器
25.sybase没有调度(定时执行某个操作)
[解决办法]
好贴,学习
顶...
[解决办法]
再顶
[解决办法]
连三,呵呵
[解决办法]
学习,顶
[解决办法]
接
[解决办法]
收了,需要时再看
[解决办法]
啊扑,THANK YOU
[解决办法]
17.没有replace函数
18.没有left函数,只有right函数
25.sybase没有调度(定时执行某个操作)
------------- 这个看起来别扭, 不会是真的吧?
19.不支持在字段上加[]
------------- 这个是否意味着不支持特殊命名?例如表名叫: "张三 表 "
21.在过程及视图中系统会自动将select * 变为select 列1,列2...
22.varchar最大支持16384个字节(SQLServer中是8000)
------------ 这两个看起来不错
[解决办法]
21.在过程及视图中系统会自动将select * 变为select 列1,列2...
不知道这个的自动,是如何自动法,如果我在存储过程中写一个 select * from #, 是否创建存储过程后,再调出存储过程内容,会看到它自动加上列名了?
[解决办法]
學習,收藏
[解决办法]
gahade (与君共勉) 老大
好久不見
[解决办法]
抢个座位,哈哈
[解决办法]
Sybase 真的太烂了,太多不方便啊!连语句嵌套都不行!
[解决办法]
用的什么版本的sybase?
[解决办法]
Ase12.5.0.3以前的版本?
------解决方案--------------------
看看
[解决办法]
学习!谢谢LZ的辛苦劳动!
[解决办法]
22.varchar最大支持16384个字节(SQLServer中是8000)
--这個我喜歡:)
[解决办法]
路过 听课
[解决办法]
学习
[解决办法]
mark
[解决办法]
学习
[解决办法]
mark
[解决办法]
学习··
[解决办法]
好帖
[解决办法]
收了,需要时再看
[解决办法]
学习!
本来以为MSSQLServer和Sybase是两兄弟,想不到很多应该是通用的东西都有不同
[解决办法]
[解决办法]
看看
[解决办法]
看看
[解决办法]
看看
[解决办法]
4.没有top,返回N行要使用set rowcount N / set rowcount 0
这个在新版里有了
[解决办法]
没调度?估计你接触还不够深入
[解决办法]
MARK
[解决办法]
mark~
[解决办法]
MARK
[解决办法]
学习
[解决办法]
mark
[解决办法]
建议你学学ASE 15, 好些东西都讲的不对
[解决办法]
这个应该是12.5前的版本,
客户端用ado连接控制事务好像还会死锁,在当前进程也不能存取,不知是否与sybase ole db机制有关,可惜未找到相关资料。
还有问一下楼上的兄弟,怎样跟踪sybase,是否有累似ms sqlserver查询分析器的工具,用于跟踪分析后台执行情况,以及调试存储过程???
[解决办法]
好帖
[解决办法]
mark
[解决办法]
Thank you!
[解决办法]
学习
[解决办法]
17.没有replace函数
18.没有left函数,只有right函数
25.sybase没有调度(定时执行某个操作)
-------------
这也太烂了吧
[解决办法]
我认为SYBASE真的很不错的,你用了就知道了!只不过界面用起来不是 很友好!
[解决办法]
请问,这25点都保证正确吗?谢谢。