`
wang_zhi_peng2007
  • 浏览: 242404 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sybase存储过程基础

 
阅读更多

总结一下sybase存储过程和触发器的一些基本特点。
sybase据说在12.xx以后支持自定义function了,但是在Adaptive Server Enterprice版本中似乎不行,
但是函数可以通过存储过程来实现,因为存储过程也是有返回值的:)

存储过程
sybase的存储过程语法基本上与sqlserver相似

变量名需要前面加上@,比如@ABC
每行行末不需要分号(;)
基本函数什么的与sqlserver很接近,但有个烦人的charindex(字符查找函数)不一样,没有
开始查找位置的参数:(,只能自己来实现了。

1.基本结构
CREATE PROCEDURE 存储过程名字
    @参数1 VARCHAR(100), //输入参数
    @参数2 INT, //输入参数
    @参数3 INT OUTPUT //输出参数
as
declare
@变量1 INT;
@变量2 DATE;
BEGIN
xxxx
END

2.SELECT INTO STATEMENT
这个似乎不支持,那只能用游标来实现了
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录
例子:
BEGIN
SELECT col1,col2 into @变量1,@变量2 FROM typestruct where xxx;
END;

3.IF 判断
IF @V_TEST=1
BEGIN
     do something
END

4.while 循环
WHILE @V_TEST=1
BEGIN
XXXX
END

5.变量赋值
set @V_TEST = 123
select @V_TEST = 123
6.使用cursor
...
as
declare cur_name CURSOR for SELECT * FROM xxx(表名,在触发器中可以是inserted,deleted)
BEGIN
open cur_name
fetch cur_name into xxx,xxx...
   begin
    set @V_SUM =@xx+@yy
   end
END


2.关于sybase触发器
sybase 不支持行级触发器,只能是语句级的,sqlserver也不支持,oracle和mysql是支持的(通过for each row)。
行级比如就是执行insert into xxx select * from xxx类似语句的时候,每插入一行调用一次触发器

语法:
create trigger trigger_name on 绑定的表 for insert|update|delete
as
declare 声明变量
begin
xxx
end

因为不支持行级,可以通过游标来达到相同的目的,就是有点麻烦,比如:

create trigger t1_trigger on t1 for insert
as
declare cur_ins CURSOR for select name from inserted
declare @name varchar(200)
begin
print 'fired ...'
open cur_ins
fetch cur_ins into @name
while @@sqlstatus=0
begin
   print @name
   fetch cur_ins into @name
end
close cur_ins
end

如果表t1一条语句插入多行,那么name就被打印多次。

分享到:
评论

相关推荐

    sybase基础过程sql

    sybase的一个存储过程样例,供大家参考

    Sybase存储过程生成工具的设计与实现 (2004年)

    通过几个实例介绍Sybase存储过程的基本组成,然后分析Sybase系统表。依据系统表所提供的信息,作为生成工具生成存储过程的基础,最后给出生成含SELECT语句的存储过程的算法。

    Sybase基础教程.doc

    三、存储过程 22 四、触发器 24 五、游标 25 六、事务——维持数据一致性和恢复 26 第八讲 SYBASE数据库用户管理基本概念 27 一、SQL SERVER注册用户和数据库用户 28 二、SQL SERVER数据库用户分类 28 三、别名...

    sybase基础ppt文档

    sybase基础,ppt文档, 有sql语句,存储过程练习的答案

    sybase 系统培训教程

    三、存储过程 22 四、触发器 24 五、游标 25 六、事务——维持数据一致性和恢复 26 第八讲 SYBASE数据库用户管理基本概念 27 一、SQL SERVER注册用户和数据库用户 28 二、SQL SERVER数据库用户分类 28 三、别名...

    SybaseASE性能调优系列中文版

    表达式、变量和存储过程参数的最大长度 ............................... 10 登录数 ..................................................................................... 10 限制对性能的影响 ..................

    数据库语言SQL必知必会

    本书是深受世界各地读者欢迎的sql经典畅销书,内容丰富,文字简洁明快,针对Oracle、sql Server、Mysql、DB2、Sybase、Postgresql、Access等各种主流数据库提供了大量简明的实例。与其他同类图书不同,它没有过多...

    数据库设计规范(1).doc

    " "数据存储编号:F01 " "数据存储名称:记账凭证 " "来 源:由凭证处理产生 " "组 成:凭证日期+凭证类别+凭证编号+附件张数+ " "{会计分录}+制证+主管+审核 " 2 概念设计阶段 1 目的 在数据分析的基础上,使用E- R...

    数据库学习基础之名词解释

    系统具有完备的触发器、存储过程、规则以及完整性定义,支持优化查询,具有较好的数据安全性。Sybase通常与SybaseSQLAnywhere用于客户机/服务器环境,前者作为服务器数据库,后者为客户机数据库,采用该公司研制的...

    数据库语言SQL必知必会(麻省理工学院教材)

    本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。 本书注重实用性,操作性很强,适合于sql 的初学者学习和...

    计算机应用基础知识概述.doc

    第1章 计算机应用基础知识概述 第2讲 计算机应用基础知识概述(二) 教学目标及基本要求: 1、掌握计算机软件系统的构成,软件的概念、特点及分类 2、了解指令、语言、程序的概念。 3、掌握计算机的基本工作原理。 ...

    计算机应用基础知识概述(3).doc

    第1章 计算机应用基础知识概述 第2讲 计算机应用基础知识概述<二> 教学目标及基本要求: 1、掌握计算机软件系统的构成,软件的概念、特点及分类 2、了解指令、语言、程序的概念。 3、掌握计算机的基本工作原理。 教学...

    计算机应用基础知识概述(1).doc

    第1章 计算机应用基础知识概述 第2讲 计算机应用基础知识概述(二) 教学目标及基本要求: 1、掌握计算机软件系统的构成,软件的概念、特点及分类 2、了解指令、语言、程序的概念。 3、掌握计算机的基本工作原理。 ...

    计算机应用基础知识概述(2).doc

    第1章 计算机应用基础知识概述 第2讲 计算机应用基础知识概述<二> 教学目标与基本要求: 1、掌握计算机软件系统的构成,软件的概念、特点与分类 2、了解指令、语言、程序的概念. 3、掌握计算机的基本工作原理. 教学...

    数据库设计概述.pdf

    例如,Design 2000和PowerDesigner,分别是Oracle公司和 Sybase公司推出的数据库设计⼯具软件,这些⼯具软件可以⾃动或辅助设计⼈员完成数据库设计过程中的很多任务,特别是⼤型数据 库的设计需要⾃动设计⼯具的⽀持...

    SQLserver数据库管理系统需求分析.doc

    希望该程序能够解决学生信息存储、学生成绩查询、录入还有课程查询 等一系列功能,并提供了对各功能模块的查询和更新功能,且这两种功能基本上是通过 存储过程来实现的,其中学生成绩查询和学生信息查询是成绩管理...

    炼数成金深度学习PostgreSQL.txt

    第十一课Postgresql引擎开发深入:执行优化器实现分析,增加兼容其它数据库存储过程功能。第十二课Postgresql引擎开发深入:数据库数据字典实现分析,扩展系统性能动态视图。第十三课发布数据库引擎:扩展并运行...

    SQL必知必会(第3版-PDF清晰版)part1

    第19章 使用存储过程...... 123 19.1 存储过程..... 123 19.2 为什么要使用 存储过程..... 124 19.3 执行存储过程..... 125 19.4 创建存储过程..... 126 19.5 小结..... 129 第20章 管理事务处理...... 130 20.1 ...

    SQL必知必会(第3版)--详细书签版

    本书涉及不同平台上数据的排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容,通过本书读者可以系统地学习到sql 的知识和方法。  本书注重实用性,操作性很强,适合于sql 的初学者学习...

    数据库管理系统(二)-真题-无答案.docx

    在核心层实现存储过程和触发器具有可编程能力 14. 数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括______。 A. 数据字典、应用程序、审计文档、数据库后备副本 B. 数据字典、应用程序、审计文档、...

Global site tag (gtag.js) - Google Analytics