0 0

db2高手进。sqlserver自定义函数转db2自定义函数3

各位db2高手看看。因为工作需要,没办法啊。我都研究好几天了 ,也没弄出来,本来sqlserver技术就不咋样,然后还让我换成db2的。伤心啊。
就这个函数。sqlserver的意思我都不太懂。还要我搞成db2的。
CREATE FUNCTION FN_GetOrdByString(@classId int,@OrdString varchar(100))
RETURNS VARCHAR(400)
AS
BEGIN
DECLARE @ParentId int
DECLARE @classIdA int
DECLARE @Value VARCHAR(100)

DECLARE currCur CURSOR FOR
--查当前项目的ID及父项目ID
SELECT ParentId,classId
FROM T_MARK_CLASS
WHERE classId=@classId

OPEN currCur
FETCH NEXT FROM currCurt
INTO @ParentId,@ClassIdA

if (@@FETCH_STATUS=0)
BEGIN
if (@ParentId IS NULL) --根项目,直接将其ID做为字串返回
BEGIN
SET @Value=@OrdString+'|'+LTRIM(RTRIM(str(@ClassIdA)))
END
else
BEGIN
--非根项目,递归找上一级项目ID所组成的字串
SET @Value=FN_GetOrdByString(@ParentId,@OrdString)+'|'+LTRIM(RTRIM(str(@ClassIdA)))

END
END
CLOSE currCur
DEALLOCATE currCur
RETURN @Value

END


小弟先谢谢各位好心人了。~!



这张表的表结构:
CREATE TABLE [dbo].[T_Mark_Class](
[ClassID] [int] IDENTITY(1,1) NOT NULL,
[ClassCode] [varchar](20) NOT NULL,
[ClassName] [nvarchar](500) NULL,
[TableID] [int] NOT NULL,
[MaxMark] [int] NOT NULL,
[MinMark] [int] NULL,
[Proportion] [int] NULL,
[ParentId] [int] NULL,
[MarkType] [char](1) NULL,
[MarkClass] [char](1) NULL,
[IDSort] [int] NULL,
[ResultType] [char](1) NULL,
[PassMark] [int] NULL,
[SecondaryQuestion] [bit] NULL,
[SecondaryMark] [int] NULL,
[ClassAllowMark] [bit] NULL,
[ClassMaxMark] [int] NULL,
[ClassMinMark] [int] NULL,
[ClassBaseMark] [int] NULL,
[MainQuestion] [bit] NULL,
[LevelID] [int] NULL,
[Notes] [nvarchar](1000) NULL,
[IsTreatMainQuestion] [bit] NULL,
[TreatMainQuestionFrom] [int] NULL,
[TreatMainQuestionTo] [int] NULL,
[ModifyId] [int] NOT NULL,
[ModifyDate] [datetime] NOT NULL,
[QuestionType] [int] NULL,
CONSTRAINT [PK__T_Mark_Class__02084FDA] PRIMARY KEY CLUSTERED 
(
[ClassID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]



大家有类似的例子也可以发来,让小弟参考参考。小弟不胜感激。
2010年12月16日 10:34
目前还没有答案

相关推荐

    Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

    Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

    如何从DB2迁移到MSSQL?

    该文档详细介绍了DB2与SQL Server之间的主要差异,并提供了转换DB2数据库至SQLServer的具体步骤。本文由DBBest Technologies编写,并于2009年4月发布。 #### 主要作者和技术审阅者 - **主要作者**:Yuri Rusakov、...

    SQLServer与DB2迁移中的主要差别及解决办法

    SQL Server与DB2在预定义函数的支持上也存在区别,这往往导致了在查询或存储过程编写时的不兼容性。例如,`CHARINDEX`、`LEN`、`DATEADD`等功能在DB2中需用其他函数替代,如`STRING`、`LENGTH`、`DATE`等。在迁移前...

    SQL SERVER自动导出Word数据库文档

    3. **Transact-SQL与OPENROWSET函数**:在SQL Server中,可以通过Transact-SQL查询数据,并使用OPENROWSET函数将结果集转换为文本或XML格式,然后利用外部程序(如Word)进行处理。例如,可以使用BULK INSERT或...

    sqlserver db2开发技巧与经验

    在SQL Server和IBM DB2数据库开发中,掌握有效的技巧和经验是至关重要的,尤其是在处理复杂的查询、优化性能、确保数据安全以及实现高效的数据管理时。本文将深入探讨这两个主流数据库系统的关键开发要点。 1. SQL ...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    标题与描述均聚焦于SQL Server, Oracle, 和DB2数据库中的SQL语句比较,这是一个对IT专业人士特别是数据库管理员(DBA)、开发人员以及对数据库技术感兴趣的人来说极为实用的主题。以下是对给定文件中提及的关键知识点...

    db2 oracle sql server sybase access 数据库连接详解

    ODBC 是微软公司开发的一套开发数据库系统应用程序接口规范,它支持应用程序以标准的 ODBC 函数和 SQL 语句操作各种不同的数据库。ODBC 提供了统一的操作界面,使得应用程序可以独立于数据库管理系统。 JDBC JDBC ...

    SQL常用函数总结

    SQL Server、Oracle、DB2和IQ都支持自动增量字段的创建。例如,在SQL Server中,我们可以使用以下语句创建一个自动增量的字段: ``` Create Table table_name ( SERIALNO BIGINT NOT NULL GENERATED ALWAYS AS ...

    基于SQL Server链接服务器实现Proficy Historian数据库的访问.pdf

    - 通过链接服务器,SQL Server可访问的数据库类型不限于SQL Server,还包括Oracle、DB2、MySQL等其他数据库系统,以及实时数据库系统如Proficy Historian。 - 这种链接技术的优势在于能够跨数据库进行数据的整合,...

    SQLserver远程或本地连接ACCESS教程.pdf

    Database=c:/db2.mdb', 'SELECT * FROM Access表') SELECT * FROM SQLServer表 ``` 这些操作利用了SQL Server与Access之间的ODBC连接,OpenRowSet和OpenDataSource函数允许我们跨越不同数据库平台,执行数据操作。 ...

    sql server 管理系统

    此外,这一版的SQL Server还强化了异构连接能力,允许连接并查询非SQL Server数据库,如Oracle或DB2,这意味着企业可以在不同类型的数据库之间无缝交换数据。 在性能方面,SQL Server 2005也有所突破。引入了查询...

    sql server 2000 分页存储过程,DB2分页存储过程,db2自动生成流水号存储过程

    无论是SQL Server 2000的`ROW_NUMBER()`函数,还是DB2的`OFFSET`和`FETCH NEXT`,以及`IDENTITY`和`SEQUENCE`,都是为了在大数据量场景下高效、准确地检索和管理数据。理解并熟练掌握这些技术,对于数据库管理员和...

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空...在 Oracle 和 SQL Server 中,我们可以使用 `NVL` 和 `ISNULL` 函数来判断值为空或 Null,並使用 `isNull` 和 `is not null` 来判断值是否为空或 Null。

    DB2报错:SQL10007N Message "-1390" could not be retrieved. Reason code.doc版下载

    DB2 报错:SQL10007N Message "-1390" could not be retrieved. Reason code 的解决方案 在安装 DB2 9.7 之后,某人发现 db2inst1 用户下无法运行一切 db2 命令,如果跑到 db2 的 bin 目录下运行 db2 命令,会给出...

    Toad for SQL Server 6.8.2.9 Xpert Edition x64_仅供个人学习参考_严禁商用.rar

    “异构数据库管理”意味着Toad 不仅支持SQL Server,还能连接到其他类型的数据库,如Oracle、MySQL、DB2等,提供跨平台的数据管理能力。 6. **脚本管理和自动化**: 用户可以编写和组织SQL脚本,Toad支持批处理...

    SQLSERVER2000V1.3$

    - **用户自定义函数**:扩展SQL Server功能,创建自定义的计算逻辑。 - **触发器**:在特定数据操作后自动执行的代码,用于实现业务规则。 - **数据完整性和索引**:保证数据一致性,提升查询性能。 - **登录和...

    SQL Server的智能提示

    10. 多环境支持:SQL Prompt不仅适用于SQL Server,还支持其他数据库系统,如Oracle、DB2和PostgreSQL,实现跨平台的智能提示。 通过这些特性,SQL Prompt智能提示成为SQL Server开发人员不可或缺的辅助工具,它...

Global site tag (gtag.js) - Google Analytics