- 浏览: 251412 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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存储过程(嵌套调用)使用另一个存储过程结果集
作者:王衍锋
日期:2008年3月5日
***********************************************
***********************************************/
关于Sybase ASE 中存储过程嵌套调用,特别是主存储过程要使用子存储过程返回的结果集的情况,由于Sybase 中不支持T-SQL 中的行集函数openrowset和opendatasource两种方法,而且,目前版本(Sybase 12.5)不支持用户自定义函数,因此,给引用被调用子存储过程返回的结果集造成了很大的不方便性。这里介绍使用Sybase“现有表”来实现应用方法。
例子:
首先建立一个存储过程p_Test,返回一个结果集
create procedure p_Test
@RCNID char(10)
as
begin
select RCNID,RCNDTE,NODENAM from JK_RCNNODE WHERE RCNID=@RCNID
return
end
再建立一个存储过程,对p_Test存储过程进行嵌套调用,使用p_Test返回的结果集
Create procedure p_Main
as
begin
create existing table almsdb.dbo.tt /*为要调用的存储过程建立现有表*/
(RCNID char(10) null,
RCNDTE char(10) null,
NODENAM varchar(100) null,
_RCNID char(10) null
)
external procedure
at 'local.almsdb.dbo.p_Test '
select * from tt where RCNID='0000011312' /*使用现有表--存储过程返回的记录集*/
drop table tt
return
end
注释:
almsdb.dbo.tt: 数据库名.拥有者.表名(其实是一个视图名称--只读)
local :Sybase ASE 数据库服务器名称(也可以是远程链接数据库服务器名)
建立方法:
sp_addserver 'local', null, '10.232.27.147:4100'
sp_addexternlogin 'local', 'almsdbo', 'almsdbo', 'almsalms'
注意上面两个系统存储过程的执行需要dbo的操作权限,由数据库管理员配制好就可使用。
现有表almsdb.dbo.tt的定义与存储过程返回的结果集相对应,包括数据类型、长度/精确度、小数点后的位数(scale)以及 null/not null 等特征。
现有表almsdb.dbo.tt只能接收存储过程返回的第一个结果集。
/*******************************************/
改进一:
时间:2008/3/5
作者:王衍锋
描述:为了能够并行执行,将现有表改为临时现有表almsdb.dbo.tt-->#tt
这样存储过程并行执行时就不会发生并发问题
/*******************************************/
改进二:
时间:2008/3/5
作者:王衍锋
描述:
关于存储过程的参数,如何实现包含参数的存储过程。在现有表中使用“_”的列来定义存储过程的参数,这些参数列不会在结果集中出现,但可以查询引用,CIS将通过名为@+列名的参数将搜索自变量传递到存储过程中。
/********************************************/
即将上面p_Main过程更改为:
create existing table #tt
(RCNID char(10) null,
RCNDTE char(10) null,
NODENAM varchar(100) null,
_RCNID char(10) null
)
external procedure
at 'local.almsdb.dbo.p_Test '
select * from #tt where RCNID='0000011312'
drop table #tt
发表评论
-
hibernate连接sybase出现如下错误:010SK: 数据库无法设置连接选项 SET_READONLY_TRUE
2012-07-31 10:04 1327项目中使用hibernate连接sybase出现如下错误: ... -
Sybase复制服务器安装配置过程中常见问题及解决办法
2012-07-17 17:49 2133Sybase复制服务器安装 ... -
Sybase过程中动态SQL使用
2012-05-29 17:44 1456Sybase过程中动态SQL使用: --DROP PRO ... -
Sybase常见问题
2012-05-23 13:25 8741. 程序调用过程报以下 ... -
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 1047项目开发中整理: 1. 计算时间不同写法 ... -
java 调用 sybase存储过程
2011-11-25 23:04 991java程序调用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 13741. ORACLE存储过程的参数不能限定位数,参数类型定位为 ... -
存储过程sybase带输入输出参数和游标功能
2011-11-11 10:34 2031例子: /**带输入输出参数和游标功能的sybase ... -
sybase自动清除日志
2011-11-11 10:31 899在图形界面定位到日志端,弹出属性框,选择thresh ... -
Sybase Ase 添加定时任务
2011-11-11 10:30 883准备一个sh文件和sql文件 Sh文件中内容如下 . / ... -
Sybase IQ添加定时任务
2011-10-28 16:31 1174Sybase IQ添加定时任务: create even ... -
Sybase数据库清除日志的做法
2011-10-28 16:27 937最近在项目中使用Sybase,发现数据库日志满了,处理办法 ... -
Jsp调用Sybase数据库存储过程返回记录集成功.(weblogic数据源方式)
2011-10-28 16:27 918源代码如下: <%@page contentType= ... -
sybase存储过程基础
2011-10-28 16:28 1311总结一下sybase存储过程和触发器的一些基本特点。sybas ... -
SYBASE ASE12.5中存储过程的建立和调用
2011-10-28 16:29 1300一、建立存储过程(三个存储过程:up_sendgroup2-& ...
相关推荐
Sybase存储过程是Sybase数据库管理系统中的一个重要特性,它允许开发者编写一组预编译的SQL语句和控制流语句,以实现复杂的数据处理逻辑。这些存储过程可以被多次调用,提高了数据库操作的效率,并提供了更好的数据...
- **原子性**:ATOMIC关键字可确保存储过程作为一个整体执行,不允许COMMIT或ROLLBACK。 6. **存储过程的调试**:Sybase IQ提供了调试工具,如附录C所述,用于在数据库级别调试逻辑。 7. **自定义函数创建**: `...
子查询是在主查询内部嵌套的查询,用于提供临时结果集,作为外部查询的一部分使用。 7. **事务处理**: Sybase 支持事务,可以确保数据的一致性和完整性。`BEGIN TRANSACTION`, `COMMIT`, `ROLLBACK` 用于开始、...
#### 一、Sybase数据库简介与版本 Sybase数据库,由Mark B. Hiffman和Robert Epstern于1984年创立的Sybase公司开发,首次产品发布是在1987年。Sybase数据库以客户/服务器架构为基础,区别于传统的主/从式模型,将...
ASE 12.5.1 支持SQL派生表,这是一种由嵌套SELECT语句生成的临时结果集,可以在查询中多次使用,提高查询效率。 #### 新增 date 和 time 数据类型 为了更好地支持日期和时间处理,ASE 12.5.1 增加了 date 和 time ...
Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应...
- 调用存储过程和函数 - **DAO封装**:数据访问对象模式,提高代码重用性。 以上是根据提供的文档内容整理的核心知识点概览。Oracle及其相关技术覆盖了数据库设计、管理、开发等多个方面,是现代信息系统不可或缺...
**示例分析**:在递归调用中,每次函数调用都会在栈中分配一个新的存储空间来保存参数和局部变量,因此正确答案是栈。 ### 20. Access数据库表的操作 **知识点说明**:Microsoft Access是一款常用的关系型数据库...
单元格可以是普通的值、表达式、SQL语句,也可以是调用远端数据库系统的存储过程,也可以是声音、图片、二(三)维图表、影片等多媒体信息,也可以是嵌套报表。 ◆规范的二次开发接口 系统提供200多个属性、500多个...
- **存储过程:** 存储过程是一组预先编写的SQL语句集合,可以被多个应用程序调用。 ### SELECT 语句详解 #### 查询基础 - **基本语法:** ```sql SELECT column_name(s) FROM table_name; ``` - **示例:** ...
实例可能涉及数据库连接、事务处理、存储过程的调用以及数据同步。 8. **错误处理和调试**:学习如何在PowerBuilder中进行错误处理,设置断点,使用调试器来跟踪和修复程序中的问题。 9. **用户界面设计**:Power...
3. 剪贴板是操作系统提供的一个临时存储区,可以存放各种类型的数据,如文本、图像等。剪切或复制操作都是将数据放入剪贴板。 4. PowerPoint 中,幻灯片的动画效果可以自由选择,不是强制要求的,因此系统不会因未...
- **`@@NESTLEVEL`**: 返回嵌套过程调用的深度。 - **`@@OPTIONS`**: 返回会话选项的值。 - **`@@REMSERVER`**: 返回远程服务器的名称。 - **`@@SERVERNAME`**: 返回当前服务器的名称。 - **`@@SERVICENAME`**: 返回...