
关于Sybase的意思
美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的PowerBuilder为开发工具,在我国大中型系统中具有广泛的应用。
Sybase SQL Server是一个多库结构的RDBMS 体系结构大致如下
数据库
服务器自身所使用的数据库 也可以说是管理服务器和用户数据库的数据库 Sybase在安装时 自动创建了四个系统数据库
master model tempdb sybsystemprocs
) master数据库
它是管理和控制用户数据库以及维护服务器正常运行的核心数据库 它保存了大量的系统信息 如服务器配置 用户 设备等
在master数据库中不允许普通用户在其中创建数据库对象 否则会使得master数据库的事务日志很快变满 如果事务日志用尽 就无法使用dump transaction命令释放master数据库中的空间
)model数据库
它是为创建用户数据库而提供的模板 每当创建新的数据库时 SQL Server自动建立model数据库的一份拷贝 并把它扩充到用户所要求的大小 以此作为新用户数据库
Model数据库中包含每个用户数据库所要求的系统表 Model数据库可以被修改以便定制新创建的
)tempdb数据库
它是个临时数据库 为服务器运行与处理提供一个共享的存储区域 如group by和order by的中间结果就存放在这里 Tempdb的空间为服务器中所有数据库的所有用户所共享
每次重启SQL Server 服务器的一个自动进程都拷贝model数据库到tempdb数据库 并清除tempdb中原来的内容 因此tempdb中的用户表都是临时的 临时表分为两类 可共享的和不可共享的 不可共享的临时表在由create table中将符号#置于表名之前创立可共享的临时表通过create table中指定表名前缀tempdb 而创立 不可共享的临时表SQL Server自动为其添加数字后缀名 且它只存在于当前会话中
)sybsystemprocs数据库master数据库
它是专门用来保存系统命令(存储过程)的数据库 如sp_help sp_configure sp_helpdevice等 当任一数据库用户运行以sp_开头的存储过程时 SQL Server按照以下顺序查找 当前数据库 sybsystemprocs数据库 master数据库
用户数据库
用户数据库是我们使用Sybase服务器的真正目的 要管理用户数据 必须在Sybase中创建自己的数据库 它是指用create database命令创建的数据库 不能存取master数据库的用户是无权创建新的数据库的
数据库中的主要内容——数据库对象
表 视图 临时表
索引 主键 外键
缺省值 规则
lishixinzhi/Article/program/Sybase/201311/11220你好,目前目前大型的数据库都采用oracle,中小型的用sqlServer,建议用sqlserver或者mysql。\x0d\x0asybase与sqlsrver的内在区别就是:\x0d\x0a1.Sybase没有用户自定义函数。\x0d\x0a\x0d\x0a2.判断fetch成功的全局变量是@@SQLstatus,而不是@@fetch_status。\x0d\x0a\x0d\x0a3.没有set,赋值与查询通用select。\x0d\x0a\x0d\x0a4.没有top,返回N行要使用setrowcountN/setrowcount0\x0d\x0a\x0d\x0a5.raiserror22009""-->raiserror('',16,1)\x0d\x0a\x0d\x0a6.游标一定要在过程中使用,不能单独在查询中使用。\x0d\x0a\x0d\x0a7.销毁游标要加cursor关键字.如:deallocatecursorcur_tmp\x0d\x0a\x0d\x0a8.没有bigint类型。\x0d\x0a\x0d\x0a9.createtable#t(idnumeric(12,0)identitynotnull),不支持int型,且不能设置起始值和步进值。\x0d\x0a\x0d\x0a10.不能alter一个存储过程,要先drop掉再create。\x0d\x0a\x0d\x0a11.没有len函数,使用char_length或datalength等效。\x0d\x0a\x0d\x0a12.通过sysindexes中的doampg列可返回某表的行数,rowcnt(doampg)。\x0d\x0a\x0d\x0a13.convert函数没有120格式(yyyy-mm-ddhh:mm:ss),需要使用selectconvert(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)\x0d\x0a\x0d\x0a14.charindex不能从被查找字符串中按指定位置查找某字符串。\x0d\x0a\x0d\x0a15.不能使用rtrim函数将数值型转为字符型。\x0d\x0a\x0d\x0a16.没有cast函数,数值型到字符型转移使用selectconvert(varchar(10),123)\x0d\x0a\x0d\x0a17.没有replace函数。\x0d\x0a\x0d\x0a18.没有left函数,只有right函数。\x0d\x0a\x0d\x0a19.不支持在字段上加[]。\x0d\x0a\x0d\x0a20.select语句中不支持变量累加,例如:select@SQL=@SQL+colnamefromtablename\x0d\x0a\x0d\x0a21.在过程及视图中系统会自动将select*变为select列1,列2...\x0d\x0a\x0d\x0a22.varchar最大支持16384个字节(SQLServer中是8000)。\x0d\x0a\x0d\x0a23.Sybase不支持表变量。\x0d\x0a\x0d\x0a24.Sybase不支持insteadof触发器。\x0d\x0a\x0d\x0a25.Sybase没有调度(注:定时执行某个 *** 作)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)