【问题标题】:How to create a Sybase stored procedure如何创建 Sybase 存储过程
【发布时间】:2015-01-26 21:23:24
【问题描述】:

我是 Sybase 的新手,我需要创建一个存储过程来收集空间,基本上将这些转换为一个过程:

create proc sp_maint
  @dbname varchar(30), @segname varchar(30),
  @devname varchar(30), @devsize int,
  @freesize int, @free_percentage int 
as declare @sizeinpg float,

【问题讨论】:

  • 您能否更具体地说明什么不起作用?
  • 我使用的语法错误
  • 现在,您只给了我们一段 sn-p 代码,而不是完整的过程。仅凭变量很难判断您做错了什么……您是否打算在某个时候从系统表中选择该数据?
  • 当我尝试将 proc 复制到窗口中时,我会收到消息

标签: stored-procedures sybase


【解决方案1】:
create proc sp_maint
  @dbname varchar(30),
  @segname varchar(30),
  @devname varchar(30),
  @devsize int,
  @freesize int,
  @free_percentage int 
as
declare @sizeinpg float,
        @perc     float,
        @segbit   int,
        @seg      int,
        @pagefl   float
BEGIN
/* for all segments */
  select @seg = segment
  from syssegments
  where name = @segname
select DATE=convert(char(8),getdate(),1),
        DB_NAME=db,
        SEGMENT_NAME=seg,
        Allocated_Space=convert(int,(round(size,0))),
        Free_Space=convert(int,round(MBfree,0)),
        Free_Percent=convert(int,(round(((MBfree/size)*100),1))),
/* get rid of blanks */
  select @dbname = ltrim(rtrim(@dbname))
  select @segname = ltrim(rtrim(@segname))
**strong text**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    相关资源
    最近更新 更多