Sybae数据库使用学习经验总结

上传人:s9****2 文档编号:491748033 上传时间:2023-08-08 格式:DOC 页数:72 大小:527.02KB
返回 下载 相关 举报
Sybae数据库使用学习经验总结_第1页
第1页 / 共72页
Sybae数据库使用学习经验总结_第2页
第2页 / 共72页
Sybae数据库使用学习经验总结_第3页
第3页 / 共72页
Sybae数据库使用学习经验总结_第4页
第4页 / 共72页
Sybae数据库使用学习经验总结_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《Sybae数据库使用学习经验总结》由会员分享,可在线阅读,更多相关《Sybae数据库使用学习经验总结(72页珍藏版)》请在金锄头文库上搜索。

1、Sybae数据库使用和存储过程编写总结张浩博客http:/sql语句部分1. 新型企业级智能数据管理系统-Sybase ASE 12.5(Adaptive Server Enterprise)2. * 17260, Cant run %1! from within a transaction.中间德 1 什么意思?3. 在创建存储过程 CREAT之前编写存储过程德 错误编号说明4. charindex(sa_role, show_role() 查看在show_role() 这个串中的sa_role在这个串中是第几个 字符5. begin/* 17230, You must be the Sys

2、tem Administrator (SA) or the Database Owner (dbo) to execute this procedure. */raiserror 17230return 2end其中的raiserror是什么意思6. trancount 这个是事务嵌套计数,它的值跟踪记录了事务嵌套的级次。他在第一个begin 突然语句后值为1。7. set chained off这是事务有关的语句set chained on之后,需要显式的commit;默认的是off,SQL92标准默认是on.如果是on,那么会为一个SQL语句块隐式开启一个事务。如果是off,除非你使用了b

3、egin tran,它不会主动为你开启一个事务。8. SET TRANSACTION ISOLATION LEVEL 1 设置事务的隔离1级水平9. 存储过程的递归调用 在存储过程内部实现了游标的编写,在游标中用EXEC 执行存储过程本身实现递归调用存储过程本身10. 存储过程的调用 exec retstat = sp_ha_check_certified sp_adduser, HA_CERTIFIED11. Sybase命令 1.disk mirror 创建在主设备发生故障时立即接替运行得软件镜像。2.disk refit 通过sysdevices中的信息重建master数据库的sysus

4、ages和sysdatabases系统表3.diskreinit 重建master数据库的sysdevices系统表。将disk reinit作为过程的一部分使用,以便恢复master数据库。4.disk remirror在磁盘镜像因镜像设备故障而停止或者被disk unmirror命令临时禁用后重新启动它。5.disk resize 动态添加Adaptive Server使用的设备的大小。例子:disk resizeName = “test_dev”Size = “10M”6.disk unmirror 挂起用disk mirror命令启动的磁盘镜像,以允许硬件维护或硬件设备的更改。7.dr

5、op database 删除一个或多个数据库。8.drop default 删除用户定义的缺省值。例子 :删除数据库中用户定义的缺省datedefaultDrop default datedefault9.drop function 删除SQL函数10.drop index 从当前数据库的表中删除索引。例子:从authors表中删除au_id_indDrop index authors. au_id_ind11.drop procedure 删除存储过程。例子:删除存储过程shoindDrop procedure shoind12.drop role删除用户定义角色13.drop rule 删

6、除用户定义的规则。14.drop table 从数据库中删除表定义及其所有的数据、索引、触发器和权限。15.drop trigger 删除触发器。16.drop view 从当前数据库中删除一个或多个视图。12. 日志空间满,引起无法给表添加新字段,日志满问题, 今天给一张表添加新字段,怎么也添加不上去,后来用sql语句写,看了报错信息才知道是日志空间满了。所以收集了一些资料,如下:SYBASE ASE的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有syslogs表

7、。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。清除log可用dump transaction 命令;或者开放数据库选项trunc log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。 Server Cache Memory中日志页总是先写于数据页:如果数据库开放trunc log on chkpt选项,则ASE在数据库系统执行checkpoint时自动清除log。但用户自己写入执行的checkpoint命令并不清除log,即使trunc log on chkpt选项开放。只有在trunc l

8、og on chkpt选项开放时,ASE自动执行checkpoint动作,才能自动清除log 。数据库的log是不断增长的,必须在它占满空间之前清除。前面已经讨论过,清除log可以开放数据库选项trunc log on chkpt,使数据库系统每隔一段时间间隔自动清除log,还可以执行命令dump transaction 来清除log.trunc log on chkpt 选项同dump transaction with truncate_only 命令一样,只是清除log而不保留log到备份设备上。所以如果只想清除log而不做备份,可以使用trunc log on chkpt 选项及dump

9、 transaction with truncate_only,dump transaction with no_log 命令。若想备份,应做dump transaction database_name to dumpdevice。1.dbcc checktable (syslogs) 可以看见日志情况:* 注意:日志段上保留的空间是 2 页 (0.03 MB),0.16%。* 注意:日志段上的可用空间是 1250 页 (19.53 MB),97.66%。表包含 1041 数据行。2.用快速方法来判断transaction log 满的程度。 select data_pgs(8,doampg)

10、 from sysindexes where id=83.只清除log不备份,开放trunc log on chkpt选项(或者右击数据库,选择属性,再选择选项)数据库每隔一段时间自动清除log。sp_dboption ttms_upload ,trunc,true例子:开启自动清理数据库功能,在checkpoint时清理USE mastergoEXEC sp_dboption smart,trunc log on chkpt,truegoUSE smartgoCHECKPOINT 清除日志(只有trunc log on chkpt打开时管用)go4.清除LOG日志dump transacti

11、on dbname with truncate_only6.使用delete table 要记录很多log,使用truncate table tablename 只记录空间回收情况,不记录表中每一行的操作。7.sp_helpdb 查看数据库中各个库的属性go13. 关于Create的使用 1.create function 通过将SQL包装加入到JAVA静态方法中,创建用户定义的函数.可返回一由该方法定义的值.2.create index 创建表中一个或多个列的索引.例子1.在authors表的au_id列上创建名为au_id_ind的索引:Create index au_id_ind on

12、authors(au_id)例子2.在authors表的au_id列上创建名为au_id_ind的唯一聚族索引:Create unique clustered index au_id_ind on authors(au_id)例子3 在authors表的au_id和title_id列上创建名为ind1的索引Create index ind1 on authors (au_id, title_id)3.create plan 创建抽象计划例子 为指定查询创建抽象计划.Create plan “select * from titles ” “(t_scan titles)”4.create pro

13、cedure 创建存储过程或可以带一个或多个用户提供的参数的扩展存储过程.例子 create procedure showed(name varchar(100)asselect * from authors where name=name下面是执行showid的可接受的语法形式”Execute showed titles或execute showed name=”tiltes”5.create role 创建用户定义角色.指定允许用于所创建的特定角色的口令有效期,最小口令长度和最大失败登陆次数.例子1 创建名为doctor_role的角色Create role doctor_role例子2.

14、 创建名为doctor_role且口令为haha的角色Create role doctor_role with passwd “haha”例子3 设置intern_role的有效期Create role intern_role , with passwd “haha”, passwd ecpiration 6例子4 设置intern_role的最大失败登陆次数Create role intern_role , with passwd “haha”, max failed_logins 20例子5 设置intern_role的最短口令长度Create role intern_role , wit

15、h passwd “haha”, min passwd length 06.create rule 为特定列或属于用户定义数据的任意列指定可接受值的域并创建访问规则.例子1 创建一个名为limit的规则,该规则限制advance的值小于1000Create rule linitAs advance 1000例子2 创建名为pubid_rule的规则,该规则限制pub_id的值为13,14或15Create rule pubid_ruleAs pub_id in (13,14,1514. case 可以用于任何可以使用值表达式的情况,case可以代替cusor游标(使用sybase12.0以上)例子1:把表查询结果中name为C的改为fffSELECT id ,case when name=C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号