转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
Sybase入门         ★★★★

Sybase入门

作者:闵涛 文章来源:闵涛的学习笔记 点击数:3503 更新时间:2009/4/22 23:09:48
sp;key 不允许空值,常用来产生唯一的聚集索引,unique 允许空值,常用来产生唯一的非聚集索引 
Create table my_sales 
(stor_id char(4), 
Ord_num varchar(20), 
Date datetime, 
Unique clustered(stor_id,ord_num)) 
3、索引 
x 建立索引 
create unique clustered index code1thidx1 on code_1th(Code1,Name,UnitNo1,Used) 
on segrun 
Unique: 建立唯一性索引 
Clustered : 建立聚集索引,使得数据行的逻辑顺序与物理顺序一致,查询速度较快;每个表仅允许建立一个唯一性索引。(非聚集索引nonclustered) 
On segrun:将索引放在segrun上 
x 删除索引: drop index code_1th.code1thidx1 

4、 默认:当用户没有显示地为某一列赋值时,SQL SERVER 为该列插入的值 
x 创建默认值CA,把默认值CA用到friends_etc表中的State列上 
Creat default statedflt 
Go 
Sp_bindefault statedflt, "frends_etc.state" 
go 
x 断离默认 
Sp_unbindefault "frends_etc.state" 
x 删除默认 
Drop default statedflt 
5、规则:可以理解为对数据库、某一列、某用户数据类型的限制.规则中的任何变量名必须 
冠以@,不能直接引用列或其他数据库对象。 
x 创建规则并把他关联到用户定义的数据类型P#上 
Create rule phonerule as @phone like 415[0-9][0-9][0-9][0-9] 
Sp_bindrule phonerule ,"p#" 
x 断离规则 
Sp_unbindrule "p#" 
x 删除规则 
Drop rule phonerule 
6视图:视图是从一个或多个基本表或其他视图上导出的表,可以在视图上进行增、删、改 
x 创建视图 
创建视图的句法为: 
create view view_name 
(column_1,...,column_n) 
as select_statements 

例:在authors表和publishers表上定义一个视图如下: 
Create view cities (authorname, acity, publishername, pcity) 
As select au_lname,authors.city, pub_name, publishers.city 
From authors, publishers 
x 通过使用Drop view 命令来撤消一个视图 
Drop view view_name 

7、存储过程 
x 创建存储过程 
CREATE PROCEDURE procedure_name [(para1[,para2, ...])] 
As sql_statements 
存储工程的参数名必须一@开头,包括@最长为30个字符。 

x 执行存储过程 
EXEC[UTE] procedure_name [(para1[,para2, ...])] 
存储过程能够返回一个整数,用来指示存储过程执行是完全错误还是错误。SQL SERVER 用0指示成功的返回,-1~-99指示不同的错误。当前所用的0及-1~-14的含义如表所示。 
值 含义 
0 过程执行无错 
-1 丢失对象 
-2 数据类型错误 
-3 进程被选作死锁的牺牲品 
-4 权限错误 
-5 语法错误 
-6 各种用户错误 
-7 资源错误:如空间错误 
-8 非严重的内部错误 
-9 触及系统限制 
-10 严重的内部不一致 
-11 严重的内部不一致 
-12 表或索引坏了 
-13 数据库坏了 
-14 硬件错误 
x 更改存储过程名 
Sp_rename objname newname 
x 删除存储过程 
DROP PROCEDURE procedure_name 

8 、触发器 
x 创建触发器 
CREATE TRIGGER [owner.]trigger_name 
ON [owner.]table_name 
{FOR INSERT,UPDATE,DELETE} 
AS 
SQL_statements 
或使用IF UPDATE 子句: 
CREATE TRIGGER [owner.]trigger_name 
ON [owner.]table_name 
{FOR INSERT,UPDATE} 
AS 
[IF UPDATE (column_name) 
[{AND|OR} UPDATE (column_name)]...} 
SQL_statments 
[IF UPDATE(column_name) 
[{AND|OR} UPDATE column_name)]... 
SQL_statements]... 

x 触发器的删除 
DROP TRIGGER [owner.]trigger_name 


五、批处理和流控制语言 
1、批处理 
SYBASE系统允许用户将若干条相关的语句组成一个整体,交给系统同时处理。 一批语 
句的结束以go语句为标志。严格地讲,单条SQL语句也是一个批处理。 
例:Select count(*) from titles 
Select count(*) from authors 
Go 
也可以将一组SQL命令放在一个操作系统文件中,再将这个文件交给isql执行。 
2、流控制语言 
流控制语句 
在批处理中,我们可以加入流程控制语句,从而达到编程的目的。在T-SQL语言中, 
流控制语句有: 
· if。。。Else。。。 
· begin。。。End。。。 
· while和break。。。Continue 
· declare和局部变量以及全局变量 
· Goto 
· Return 
· Waitfor 
· print和Raiserror 
· 注释 
例: 
if exists(select * from zyl 
where xm="李军") 
print "ok" 
else 
print "no this one" 
使用批处理有以下规则: 
x CREATE PROCEDURE、CREATE RULE、 CREATE DEFAULT 、CREATE TRIGGER 以及CREATE VIEWE 必须单独交给SQL SERVER, 他们不能和别的SQL语句一起作批处理(CREATE DATABASE、CREATE TABLE 和CREATE INDEX 能和其他语句组成批处理)。 
x 规则和默认值都不能在一组批处理中刚关联就使用。 
x USE命令必须在引用这个数据库的对象的语句的前一组批处理中提交。 
x 不能刚删除(DROP)一个数据库对象又在同一批处理中重新创建他。 
x 用SET语句做的任何选择设置在批处理尾处发生作用。可以把SET语句和查询语句放入一组批处理中,但SET选择项不能在这组批处理中使用。 


六、系统的启动和关闭 
1、启动SQL Server 
应用SQL Server安装程序(sybinit)创建SQL Server或Backup Server, 默认文件名为RUN_SYBASE 和RUN_SYB_BACKUP,放在¥SYBASE/INSTALL目录下。 
Startserver 用来启动一SQL Server 或Backup Server: 
Startserver -f RUN_SYBASE 
Startserver -f RUN_SYB_BAKUP 
可以通过showserver查看SQL ServerBackup Server是否已经启动,在$SYASE/INSTALL下运行showserver 查看SQL Server 是否启动 

UID PID PPID C STIME TTY TIME CMD 
(Backup Server已启动的信息) 
sybase 831 830 0 17:23:50 ttyp1 00:00:00 /sybase/bin/backupserver 朣 SYB_BACKUP -I/sybase/interfaces -M/sybase/bin/sybmul 
(SQL Server已启动的信息) 
sybase 674 1 0 14:29:11 ttyp0 00:00:45 /sybase/bin/dataserver -d/sybase/master.dat 朣YBASE -e/sybase/install/errorlog 
SQL Server的启动过程 
master数据库启动-----------鄐ybsystemproces数据库启动-----------嗲蹇誸empdb---------嗥舳渌菘 -------嗍挛竦幕毓 

2、启动SQL Server的单用户模式 
如果要恢复一已被损坏的master数据库,则必须要启动SQL Server的单用户模式。单用户模式下仅允许一个系统管理员向SQL Server注册。 

Startserver -f RUN_SYBASE -m 

3、关闭服务器 

关闭SQL Server可以在isql中使用T-SQL命令: 

关闭SQL备服务器 
shutdown SYB_BACKUP 

关闭SQL主服务器 
shutdown [with nowait] 


4、Sybase数据库目录说明 
/usr/sybase =.. 主目录 
.. /install 安装程序 
../bin 执行程序 
../include 库函数文件 
../lib 宿主语言库 
../doc 联机文件 
../scripts SQL 动态描述文件 
../help 帮助信息 
../locales 语言限制文件 
../termdef 终端定义文件 
../charsets 字符集文件 

七、SQL Server的用户及权限 

Sybase中的用户分为两种:SQL服务器用户(登录帐号)和数据库用户。 
安装完SQL服务器后,系统自动建立一个SQL服务器用户sa,口令为空,即系统管理员,他对整个系统有操作权,其他用户均由系统管理员建立。 
在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对给定的数据库只有被授权的操作权限。 
数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组public。 

1、建立SQL服务器用户名(登录帐号) 
作为一个用户,为了使用SQL Server,他必须在SQL Server上有一个SQL服务器用户名(登录帐号)。这个帐号是系统管理员通过sp_addlogin来增加的。 
sp_addlogin 登录名,口令,库名,语言,全名 
例:建立用户zhang, 口令为zhangling(最低六位),全名为Zhang ling 
1> sp_addlogin zhang,zhangling,null,null,"Zhang ling" 
2> go 
3> select * from syslogins 
4> go 

2、增加数据库用户名 
同样,为了使用SQL Server上的数据库,他必须在数据库中有一个用户名,这个用户名是数据库所有者通过sp_adduser来增加的。数据库用户名不必和用户帐户一样,而且在不同的数据库中用户名可以不同。多个用户可以有相同的SQL Server帐户。同样,多个SQL Server帐户可以有相同的数据库名。 
sp_adduser 登录名,别名,组名 
登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名为用户所属的数据库用户组。 

例:用户zhang增加为tele114的用户,别名为zhang1,属于用户组china 

1>sp_addgroup china 
2>go 

1>sp_adduser zhang,zhang1,china 
2>go 
1> sp_helpuser 
2> go 

*例:删除别名zhang1,用户组china,登录名zhang 
1> use tele114 
2> go 
3> sp_dropuser zhang1 
4> go 
5> sp_helpuser 
6> go 
1>sp_dropgroup china 
2>go 
1> sp_helpgroup 
2> go 
3> use master 
4> go 
5> sp_droplogin zhang 
6> go 
7> select * from syslogins 
8> go 

3、数据库操作授权 
grant 命令序列 to 用户名 
A. 系统管理员可以授予其他用户CREATE DATABASE的权限,使其他用户可以成为数据库所有者。 
B. 数据库所有者在他所拥有的数据库中,可以授予其他用户的权限有: 
l CREATE TABLE ------------------- 建表 
lCREATE DEFAULT ------------------ 建缺省 
lCREATE RULE ------------------- 建规则 
lCREATE PROCedure ------------------ 建存储过程 
lCREATE VIEW ------------------- 建视图 
lDUMP DATABASE ------------------- 备份数据库 
lDUMP TRANsaction ------------------ 备份日志 
C. 数据库对象所有者可以授予其他用户的操作权限有: 
l SELECT 
l UPDATE 
l INSERT 
l EXECute 
l DELETE 
l REFERENCE 

例:授予zhang1在数据库tele114上建表,建视图,建存储过程;对表students有select,reference权;对name,native字段有update权。 
1> use tele114 
2> go 
3> grant creat table,create procedure ,create view to zhang1 
4> go 
5> grant select,reference 

上一页  [1] [2] [3] [4] [5] [6]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台