sybase语法备忘

create procedure aa_set_rate(
                               @p_company varchar(50),
                               @p_period  varchar(50),
                               @p_step_id varchar(50),
                               @p_from_business_code varchar(50),
                               @p_to_business_code varchar(50), 
                               @p_rate float,
                               @p_source varchar(50))
as
   declare  @v_count int,
            @v_from_business_code varchar(50),
            @v_new_rate float,
            @v_rate_id  varchar(50)

   declare c_rate cursor for
          SELECT from_business_code,
                 new_rate = SUM(rate) * @p_rate 
            FROM aa_rates
           WHERE company_code = @p_company
             AND period = @p_period
             AND to_business_code = @p_from_business_code
           GROUP BY From_business_code 
  BEGIN

    if @p_from_business_code = @p_to_business_code
        print 'p_to_business_code = %1! ',  @p_from_business_code
       return 0 
       
    if @v_count > 0 
       begin 
          open c_rate
          fetch /*next from*/ c_rate into @v_from_business_code,@v_new_rate
            while @@sqlstatus  = 0 
                begin 
                    exec aa_get_next_secquence  @p_table_name = 'AA_RATES',@p_next_sequence =@v_rate_id  output

                    INSERT INTO aa_rates
                      (rate_id,
                       company_code,
                       period,
                       from_business_code,
                       to_business_code,
                       rate,
                       SOURCE,
                       step_id,
                       creation_date,
                       created_by,
                       last_update_date,
                       last_updated_by)
                       VALUES(
                             @v_rate_id ,                            
                             @p_company,
                             @p_period,
                             @v_from_business_code,
                             @p_to_business_code,
                             @v_new_rate,
                             'INDIRECT',
                             @p_step_id,
                             getdate(),
                             '0',
                             getdate(),
                             '0')
                    fetch /*next from*/ c_rate into @v_from_business_code,@v_new_rate
               end           
               close c_rate
               deallocate cursor c_rate
       end  
END                             
                  
      

 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Sybase参考手册史上最完全版,共四本,这是第二本 《命令》 《Adaptive Server 参考手册》包含有关 Sybase® Adaptive Server® Enterprise 和 Transact-SQL® 语言的四本指南: • 《构件块》介绍了 Transact-SQL 的各个部件:数据类型、内置函 数、全局变量、表达式、标识符、保留字和 SQLSTATE 错误。 要想成功使用 Transact-SQL,您首先必须了解这些构件块的功 能,以及它们对 Transact-SQL 语句执行结果的影响。 • 《命令》提供了有关用于创建语句的各种 Transact-SQL 命令的 参考信息。 • 《过程》提供了有关系统过程、目录存储过程、扩展存储过程和 dbcc 存储过程的参考信息。所有过程都是使用 Transact-SQL 语 句创建的。 • 《表》提供了有关系统表的参考信息。系统表用于存储有关服务 器、数据库和用户的信息,以及服务器的其它详细信息。它还 提供有关 dbccdb 和 dbccalt 数据库中的表的信息。 约定以下各部分将说明在这些参考手册指南中使用的约定。 SQL 是一种形式自由的语言。没有规定每一行中的单词数量或者必 须换行的地方。然而,为便于阅读,本手册中所有示例和大多数语 法语句都经过了格式设置,以便语句的每个子句都在一个新行上开 始。有多个成分的子句会扩展到其它行,这些行会有缩进。复杂命 令使用已修改的 Backus Naur Form (BNF) 表示法进行了格式处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值