sybase过程生成主键序列及java调用过程:
用sybase做一个跟Oracle序列功能相同的东东,方便移植使用
1.创建序列保存表
----创建序列生成表 DROP TABLE dbo.AMS_YJ_MANAGE_SEQ GO ----序列生成记录表 CREATE TABLE dbo.AMS_YJ_MANAGE_SEQ ( YJ_TYPE varchar(64) NOT NULL, YJ_NAME varchar(64) NULL, YJ_MAX int NOT NULL, USER_ID int NULL, CONSTRAINT AMS_YJ_MANAGE_SEQ_PK PRIMARY KEY NONCLUSTERED(YJ_TYPE) WITH max_rows_per_page = 0, reservepagegap = 0 ) LOCK ALLPAGES GO INSERT INTO dbo.AMS_YJ_MANAGE_SEQ(YJ_TYPE, YJ_NAME, YJ_MAX, USER_ID) VALUES('AMS_YJ_COMVAN_SEQ', '应急通信车', 10017, NULL) GO
2. 创建序列生成存储过程 (@TYPE_MAX 返回参数)
DROP PROCEDURE dbo.YJ_MANAGE_GET_MAX GO CREATE PROCEDURE dbo.YJ_MANAGE_GET_MAX( @YJ_TYPE VARCHAR(256), @TYPE_MAX INT OUTPUT) AS ---序列生成器 BEGIN DECLARE @MAX_BAK INT SELECT @MAX_BAK = YJ_MAX+1 from AMS_YJ_MANAGE_SEQ WHERE YJ_TYPE=@YJ_TYPE IF @MAX_BAK<>0 BEGIN UPDATE AMS_YJ_MANAGE_SEQ SET YJ_MAX=YJ_MAX+1 WHERE YJ_TYPE=@YJ_TYPE END SELECT @TYPE_MAX= @MAX_BAK RETURN @TYPE_MAX END GO
3. java调用
/** * 取当前应急类型的最大编号 * @return */ public int getYjManagerMax(String yj_type) { int isSyn= 0; CallableStatement cStmt = null; String sqlStr = "{call dbo.YJ_MANAGE_GET_MAX(?,?)}"; try { cStmt = conn.prepareCall(sqlStr); cStmt.setString(1,yj_type); cStmt.registerOutParameter(2,java.sql.Types.INTEGER); cStmt.execute(); isSyn= cStmt.getInt(2); ----返回的序列号 System.out.println("yyyyyy====="+isSyn); } catch (SQLException e) { e.printStackTrace(); isSyn= -1; } finally { DBManager.closeDBStatement(cStmt); } return isSyn; }
相关推荐
Sybase数据库系统,作为一款企业级的关系型数据库管理系统,提供了与Java语言的集成,使得开发人员可以在存储过程中调用外部Java程序,这对于无需依赖系统服务器进行定时任务调度的情况尤其有用。本文将详细介绍如何...
本话题将详细讲解如何使用Java调用带有参数的Oracle存储过程,并获取存储过程返回的集合。 首先,Oracle存储过程是一种预编译的SQL语句集合,它可以在数据库服务器端执行,提高性能,减少网络传输。`PROCEDURE.sql`...
### Sybase存储过程的建立和使用 #### 一、存储过程概述 Sybase的存储过程是一种预先定义并编译好的SQL脚本,集中存储在SQL Server数据库中。它结合了SQL语句和流程控制语句,能够实现复杂的业务逻辑处理。存储...
Java连接Sybase数据库的jar包,已通过本人测试。能用的哦~~~
### Sybase 中实现分页技术的存储过程 #### 背景介绍 Sybase 是一款高性能的关系型数据库管理系统,广泛应用于金融、电信等对数据处理性能有极高要求的领域。在实际的应用场景中,常常需要从数据库中获取大量的数据...
Java编程语言与数据库之间的交互是开发企业级应用的关键部分,特别是在使用像Sybase这样的高性能数据库管理系统时。在Java中,我们通常使用JDBC(Java Database Connectivity)API来连接和操作数据库。Sybase作为一...
Sybase的存储过程是集中存储在SQL Server中的预先定义且已经编译好的事务。存储过程由 SQL语句和流程控制语句组成。它的功能包括:接受参数;调用另一过程;返回一个状态值给调用过程或批处理,指示调用成功或失败;...
存储过程是由一个或多个SQL语句组成的程序,它们在Sybase数据库中存储并由用户通过SQL命令调用执行。与单独的SQL语句相比,存储过程具有可重用性,可以减少网络流量,提高系统性能,并且能够更好地封装数据库操作,...
本示例将深入探讨如何使用Java Database Connectivity (JDBC) API来实现这一目标,以及解决过程中可能遇到的问题。 首先,理解Java的JDBC API是关键。JDBC是Java中用于与各种类型数据库进行交互的一套标准接口和类...
jconn4驱动对Sybase IQ的支持意味着开发者可以利用Java编写高效的数据分析应用程序,直接连接到Sybase IQ服务器,执行复杂的查询和报表生成任务。 6. 使用与配置: 在Java应用程序中,使用Sybase驱动通常涉及以下...
在Hibernate中,可以使用`<generator class="sequence">`来指定使用Sequence作为主键生成策略,并通过`<param name="sequence">SEQ_CHILD</param>`来指定具体的序列名称。这种方式适用于需要生成大量连续主键值的...
本文将深入探讨`jconn4`驱动、其在Sybase环境中的作用以及如何使用它来建立Java到Sybase的连接。 `jconn4.jar`是`jconn4`驱动的主要组件,它包含了所有必要的类和资源,使得Java程序能够通过JDBC接口与Sybase ...
标题中的“sybase java 驱动”指的是Java应用程序连接Sybase数据库时所需的一个关键组件,即数据库驱动程序。在Java编程中,为了与不同类型的数据库进行交互,我们需要特定的 JDBC(Java Database Connectivity)...
sybase分页存储过程(代码),分页存储过程代码,实现sybase数据库分页查询。
在IT领域,特别是数据库管理与开发中,Sybase作为一个历史悠久且功能强大的数据库系统,其存储过程(Stored Procedure)的编写技巧与方法对于提高数据库性能、确保数据安全性以及简化复杂操作流程具有重要意义。...
### Sybase数据库SQL过程详解 #### 系统过程概述 Sybase数据库中的系统过程是预定义的过程,主要用于管理和查询数据库的内部信息。...理解这些存储过程的工作原理和使用方法对于有效管理Sybase数据库至关重要。
sybase整体过程范例,在进行编程的时候可能有用,供大家参考。