- 浏览: 251364 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1326项目中使用hibernate连接sybase出现如下错误: ... -
Sybase复制服务器安装配置过程中常见问题及解决办法
2012-07-17 17:49 2132Sybase复制服务器安装 ... -
Sybase过程中动态SQL使用
2012-05-29 17:44 1456Sybase过程中动态SQL使用: --DROP PRO ... -
Sybase常见问题
2012-05-23 13:25 8721. 程序调用过程报以下 ... -
Sybase数据SQL查询
2012-01-05 12:42 1242Sybase查询: 查询某天是星期几 set date ... -
oracle常用函数,sybase常用函数
2011-12-08 12:03 1805oracle常用函数与sybas ... -
Sybase 写法与Oracle写法的 比较
2011-12-08 09:33 1046项目开发中整理: 1. 计算时间不同写法 ... -
java 调用 sybase存储过程
2011-11-25 23:04 990java程序调用Sybase存储过程: public vo ... -
sybase函数例子(2)
2011-11-16 21:10 721Sybase函数例子: -- 功能描述 : 系统初始 ... -
sybase函数例子(1)
2011-11-16 21:09 778Sybase create or replace funct ... -
Oracle左右连接和Sybase的比较
2011-11-16 00:55 1527数据表的连接 有: 1、内 ... -
从sybase的存储过程转向oracle的存储过程的不同点
2013-01-08 17:26 13721. ORACLE存储过程的参数不能限定位数,参数类型定位为 ... -
存储过程sybase带输入输出参数和游标功能
2011-11-11 10:34 2030例子: /**带输入输出参数和游标功能的sybase ... -
sybase自动清除日志
2011-11-11 10:31 898在图形界面定位到日志端,弹出属性框,选择thresh ... -
Sybase 存储过程(嵌套调用)使用另外一个存储过程的结果集
2011-11-11 10:32 1041/****************************** ... -
Sybase Ase 添加定时任务
2011-11-11 10:30 882准备一个sh文件和sql文件 Sh文件中内容如下 . / ... -
Sybase IQ添加定时任务
2011-10-28 16:31 1173Sybase IQ添加定时任务: create even ... -
Sybase数据库清除日志的做法
2011-10-28 16:27 936最近在项目中使用Sybase,发现数据库日志满了,处理办法 ... -
Jsp调用Sybase数据库存储过程返回记录集成功.(weblogic数据源方式)
2011-10-28 16:27 918源代码如下: <%@page contentType= ... -
SYBASE ASE12.5中存储过程的建立和调用
2011-10-28 16:29 1299一、建立存储过程(三个存储过程:up_sendgroup2-& ...
相关推荐
Jupyter-Notebook
Jupyter-Notebook
高效甘特图模板下载-精心整理.zip
lstm Summary Framework: z = U>x, x u Uz Criteria for choosing U: • PCA: maximize projected variance • CCA: maximize projected correlation • FDA: maximize projected intraclass variance
OpenGL调试工具,适合图形开发者,包括视频开发,播放器开始以及游戏开发者。
全国行政区划shp最新图.zip
全国研究生招生与在校数据+国家线-最新.zip
Jupyter-Notebook
直播电商交流平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
《林黛玉进贾府》课本剧剧本
2000-2020年沪深A股上市公司融资约束程度SA指数-最新数据发布.zip
PPT模版资料,PPT模版资料
CPA注会考试最新教材资料-最新发布.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
内容概要:本文提供了一个完整的职工管理系统的C++源代码。通过面向对象的编程方法,实现了包括创建新职工、查询、增加、修改、删除、排序、统计以及存储和恢复职工数据在内的多个基本操作功能。该系统支持不同的用户角色(如管理员与老板),并通过菜单驱动方式让用户方便地进行相关操作。此外,还包括了错误检测机制,确保操作过程中的异常得到及时处理。 适合人群:有一定C++语言基础,特别是面向对象编程经验的程序员;企业管理人员和技术开发人员。 使用场景及目标:适用于中小型企业内部的人力资源管理部门或IT部门,用于维护员工基本信息数据库,提高工作效率。通过本项目的学习可以加深对链表、类和对象的理解。 阅读建议:建议先熟悉C++的基本语法和面向对象概念,再深入学习代码的具体实现细节。对于关键函数,比如exchange、creatilist等,应当重点关注并动手实践以加强理解。
Jupyter-Notebook
考研公共课历年真题集-最新发布.zip
Huawei-HKUST Joint Workshop on Theory for Future Wireless 15-16 September 2022 华为-香港科技大学未来无线理论联合研讨会 Speaker:Jingwen Tong
演出人员与观众疫情信息管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
《林黛玉进贾府》课本剧剧本.pdf