怎么判断sybase数据库的剩余空间

怎么判断sybase数据库的剩余空间,第1张

data_pages() 或者data_pgs()

curunreservedpgs()

通过这两个函数自己计算。

查看数据库内使用对象占用的空间

use xxxx ----你的数据库名字

go

--查看数据库内所有对象使用的数据空间:

select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id <>8

--查看数据库内日志空间:

select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id

= 8

函数data_pages的第一个参数为数据库id,第二个参数为对象ID,第三个参数为 doampg或者ioampg分别表示统计数据、日志所占空间。

函数curunreservedpgs统计设备上面指定段的剩余空间。

SQL语句如下(直接run):

from sysreferences LEFT OUTER join sysobjects a on sysreferences.tableid = a.id LEFT OUTER join sysobjects b on sysreferences.reftabid = b.id

---where b.name in (*,*,...........)

说明:sysreferences系统表中定义了所有表之间的引用关系,其中包括tableid和reftabid,即主表和外键关联表

sysobjects 系统表中定义了所有表的基本信息,两者关联即可。

Sybase ASA中查询元信息的几个常用SQL函数:

sp_column_privileges Unsupported

sp_columns table-name [, table-owner ] [, table-qualifier] [, column-name] 返回指定列的数据类型

sp_databases Unsupported

sp_datatype_info Unsupported

sp_fkeys pktable_name [, pktable-owner][, pktable-qualifier] [, fktable-name] [, fktable_owner] [, fktable-qualifier] 表的外键信息

sp_pkeys table-name [, table_owner] [, table_qualifier] 表的主键信息

sp_server_info Unsupported

sp_special_columns table_name [, table-owner] [, table-qualifier] [, col-type] 表的标识行的特定列的信息

sp_sproc_columns proc-name [, proc_owner] [, proc-qualifier] [, column-name] 存储过程的输入输出参数信息

sp_stored_procedures [sp-name] [, sp-owner] [, sp-qualifier] 一个或者多个存储过程信息

sp_statistics [table_name] [, table_owner] [, table_qualities] [, index_name] [, is_unique] 表及其索引列的信息

sp_tables table-name [, table-owner] [, table-qualifier] [, table-type] 指定表的信息

我只会土办法,肯定管用

用一个中间表转一下, *** 作办法如下

根据出数据要求建一个中间表

用cursor 查询出所有数据

根据规则,逐条将数据转到新表中

完成后查询出新表的数据,完成处理


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9934813.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存