- 浏览: 253972 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (282)
- 常用-笔记 (9)
- 2012-2013开发整理 (19)
- 2017前-开发整理 (38)
- 2017-开发整理【前端】 (2)
- 数据库 (25)
- 数据库_Oracle (35)
- 数据库_MySql (4)
- 数据库_Sybase (30)
- 数据库_Oracle ERP (4)
- java 应用 (23)
- java_xml解析 (7)
- java_反射 (0)
- Java_多线程 (0)
- java_socket (0)
- 前端_CSS样式 (3)
- 前端_JavaScript (29)
- 前端_jQuery 应用 (11)
- 前端_jQuery EasyUI (2)
- 开源_SSH框架应用 (18)
- 开源_spring (0)
- 开源_springMVC (0)
- 开源_MyBatis (0)
- 架构_01. SOA_webService (8)
- 架构_02. 搜索引擎_Solr (0)
- 架构_03. redis (0)
- 架构_04. mongodb (2)
- 架构_05. 设计模式 (0)
- 架构_06. 缓存机制 (0)
- 架构_07. 身份认证 (0)
- 架构_08. 单点登录 (0)
- 架构_09. JMS消息机制 (0)
- 架构_10. 工作流 (0)
- 架构_11. 日志 (1)
- 架构_12. 数据库-设计 (1)
- 架构_13.分布式架构 (1)
- web_C标签 (4)
- web中间件 (6)
- 综合技术 (4)
- 管理_maven (3)
- 管理_软件项目管理 (17)
- 思考_程序人生 (16)
- 资源_网站 (2)
- 其他 (1)
- Eclipse基本配置 (3)
- 2017-18 (8)
- Linux (1)
- 数字计算 (3)
- 微信开发 (0)
最新评论
-
masuweng:
JavaScript 动态表格增加、删除、行金额计算、合计 -
xxwozixin:
迷茫中在iteye上搜索“程序员的第一个五年规划”结果看到了这 ...
我的中兴五年生活
总结一下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就被打印多次。
发表评论
-
hibernate连接sybase出现如下错误:010SK: 数据库无法设置连接选项 SET_READONLY_TRUE
2012-07-31 10:04 1340项目中使用hibernate连接sybase出现如下错误: ... -
Sybase复制服务器安装配置过程中常见问题及解决办法
2012-07-17 17:49 2148Sybase复制服务器安装 ... -
Sybase过程中动态SQL使用
2012-05-29 17:44 1467Sybase过程中动态SQL使用: --DROP PRO ... -
Sybase常见问题
2012-05-23 13:25 8841. 程序调用过程报以下 ... -
Sybase数据SQL查询
2012-01-05 12:42 1250Sybase查询: 查询某天是星期几 set date ... -
oracle常用函数,sybase常用函数
2011-12-08 12:03 1816oracle常用函数与sybas ... -
Sybase 写法与Oracle写法的 比较
2011-12-08 09:33 1052项目开发中整理: 1. 计算时间不同写法 ... -
java 调用 sybase存储过程
2011-11-25 23:04 997java程序调用Sybase存储过程: public vo ... -
sybase函数例子(2)
2011-11-16 21:10 727Sybase函数例子: -- 功能描述 : 系统初始 ... -
sybase函数例子(1)
2011-11-16 21:09 779Sybase create or replace funct ... -
Oracle左右连接和Sybase的比较
2011-11-16 00:55 1531数据表的连接 有: 1、内 ... -
从sybase的存储过程转向oracle的存储过程的不同点
2013-01-08 17:26 13851. ORACLE存储过程的参数不能限定位数,参数类型定位为 ... -
存储过程sybase带输入输出参数和游标功能
2011-11-11 10:34 2045例子: /**带输入输出参数和游标功能的sybase ... -
sybase自动清除日志
2011-11-11 10:31 905在图形界面定位到日志端,弹出属性框,选择thresh ... -
Sybase 存储过程(嵌套调用)使用另外一个存储过程的结果集
2011-11-11 10:32 1053/****************************** ... -
Sybase Ase 添加定时任务
2011-11-11 10:30 886准备一个sh文件和sql文件 Sh文件中内容如下 . / ... -
Sybase IQ添加定时任务
2011-10-28 16:31 1177Sybase IQ添加定时任务: create even ... -
Sybase数据库清除日志的做法
2011-10-28 16:27 944最近在项目中使用Sybase,发现数据库日志满了,处理办法 ... -
Jsp调用Sybase数据库存储过程返回记录集成功.(weblogic数据源方式)
2011-10-28 16:27 925源代码如下: <%@page contentType= ... -
SYBASE ASE12.5中存储过程的建立和调用
2011-10-28 16:29 1310一、建立存储过程(三个存储过程:up_sendgroup2-& ...
相关推荐
### Sybase IQ 存储过程、视图及触发器语法详解 #### 存储过程 存储过程是在数据库中预编译的一系列SQL指令,能够通过单一的调用来执行复杂的操作,提高了性能并简化了应用程序的设计。 ##### 创建存储过程 创建...
存储过程是一组预编译的SQL语句,可以封装在一起执行,提高效率并减少网络通信。触发器是数据库自动执行的代码段,通常在数据更改(如INSERT、UPDATE或DELETE)时触发。 6. **备份与恢复** Sybase提供了多种备份...
此存储过程简单展示了如何接收一个输入参数并将其值作为结果返回,是理解存储过程参数传递机制的基础。通过此类实践,开发者能够更深入地掌握MySQL存储过程的创建与调用技巧,进一步提升数据库应用程序的性能与安全...
sybase的一个存储过程样例,供大家参考
本文详细介绍了Sybase存储过程的组成要素,并探讨了如何设计和实现一个用于生成存储过程的工具。 ### Sybase存储过程的基本组成 Sybase存储过程是由SQL语句和控制流语句组成的集合。这些语句按照特定的语法规则...
安装过程包括下载Sybase安装包,通过控制台命令进行安装,并配置相关的环境变量,如SYBASE、SYBROOT等。安装完成后,还需要创建数据库实例和初始化数据库。 三、Sybase SQL语言基础 SQL是与Sybase交互的主要语言。...
为了理解并使用这些存储过程,你需要具备SQL语言基础,了解如何在Sybase环境中创建、修改和执行存储过程。此外,对于与Web服务相关的存储过程,你还需要熟悉Web开发的相关概念,如HTTP协议、SOAP或RESTful API等。 ...
【内容摘要】:本教程涵盖了Sybase的基础知识,包括数据库设备与存储空间管理、数据库与事务日志、安全性与用户管理、备份与恢复、T-SQL语言、数据库编程及用户管理基本概念等。第一讲主要介绍了Sybase的客户/服务器...
本PPT文档是针对Sybase的基础教程,旨在帮助初学者理解和掌握Sybase的核心概念、SQL语法以及存储过程的使用。 **一、Sybase概述** 1. **历史与背景**:Sybase成立于1984年,最初专注于提供数据库服务,后来被 SAP ...
- **可编程数据库**:通过存储过程,用户可以创建自己的数据库子例程,预编译后的存储过程提升了查询速度。 - **事件驱动的触发器**:触发器可以保证数据库完整性,通过触发另一存储过程来响应特定事件。 - **多...
6. **数据库编程基础**:涵盖存储过程、触发器等高级数据库编程概念,以实现更复杂的业务逻辑。 7. **SYBASE数据库用户管理基本概念**:进一步讲解用户管理的细节,包括角色、权限继承和访问控制。 通过这个系列的...
- sybsystemprocs数据库:存储系统过程和系统函数。 深入学习这些系统数据库的结构和用途,对于理解和维护SYBASE环境至关重要。 本课程将继续深入探讨SYBASE的更多高级主题,如SQL语法、表和索引、备份与恢复策略...
DB2编程基础要点主要涉及SQL语句的使用和存储过程的创建。在DB2数据库管理系统中,编程工作是一项核心任务,对于数据的增删改查和处理流程的自动化至关重要。 首先,创建存储过程时,必须注意语法的严谨性。在使用`...
- **存储过程**:预编译的SQL代码块,可以接受参数,执行复杂的逻辑操作。 - **触发器**:自动响应特定事件(如数据更改)而执行的SQL代码块。 - **游标**:用于逐行处理结果集的机制。 - **事务**:一组SQL操作作为...
SYBASE数据库是由一系列组件构成的,包括但不限于数据库服务器、数据库文件、日志文件、系统表和存储过程等。数据库服务器是处理数据请求并管理数据库的软件;数据库文件存储实际的数据;日志文件记录了所有对数据库...
另外,了解性能监控和调优也是重要的技能,包括索引设计、查询优化、存储过程的编写等。 6. **安全性与权限**: Sybase提供了细粒度的权限控制,理解用户、角色和权限的概念对于保护数据库安全至关重要。 7. **...
三、存储过程 22 四、触发器 24 五、游标 25 六、事务——维持数据一致性和恢复 26 第八讲 SYBASE数据库用户管理基本概念 27 一、SQL SERVER注册用户和数据库用户 28 二、SQL SERVER数据库用户分类 28 三、别名...
除了上述内容,学习SYBASE数据库还需要了解数据类型、表结构、索引、视图、触发器、存储过程、事务处理、备份与恢复、安全性及性能调优等。掌握这些知识后,开发者能够有效地设计、实施和维护SYBASE数据库,确保应用...