`
shutaodream
  • 浏览: 5397 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 函数 等同于 sql server 表值函数

阅读更多
多值函数或表函数返回的都是由多个值组成的一个集合。可以使用SQL命令的table操作符,可以将该集合直接用作SQL查询中的关系表。

第一步:创建一个类型,如:

CREATE TYPE BookType AS OBJECT (
  isbn  CHAR(10),
  title VARCHAR2(100)
)

第二步:创建以BookType为基本类型的表类型



CREATE TYPE BookTypes AS TABLE OF BookType;

第三步:创建函数

CREATE OR REPLACE FUNCTION SomeBooks(p_Category IN books.category%TYPE)
  RETURN BookTypes AS

  v_ResultSet BookTypes := BookTypes();
  
  CURSOR c_SomeBooks IS
    SELECT isbn, title
      FROM books
      WHERE category = p_Category;

BEGIN
  FOR v_Rec IN c_SomeBooks LOOP
    
    v_ResultSet.EXTEND;
    v_ResultSet(v_ResultSet.LAST) := BookType(v_Rec.isbn, v_Rec.title);
  END LOOP;
  
  RETURN v_ResultSet;
END SomeBooks;

第四步:调用函数

SELECT * FROM TABLE (SomeBooks('Oracle Basics'));
分享到:
评论

相关推荐

    sql server 和oracle函数

    根据给定的信息,本文将对SQL Server与Oracle数据库系统中的函数进行详细对比分析,主要涉及数学函数、字符函数以及日期函数。以下是对这些知识点的具体展开: ### 数学函数 #### 绝对值 - **SQL Server**: 使用 `...

    sqlserver实现Oracle中Lpad和Rpad函数

    sqlserver实现Oracle中Lpad和Rpad函数

    sqlserver自动生成sql语句工具sqlserver转oracle

    这个过程涉及到SQL语法的转换,因为SQL Server和Oracle虽然都遵循SQL标准,但各自的语法特性和函数库有所不同。例如,SQL Server的T-SQL和Oracle的PL/SQL在存储过程编写上就有显著差异。 标签"sql 工具"表明我们...

    oracle 和sql Server 函数对比

    本文将深入探讨Oracle与SQL Server在常用函数方面的对比,以便开发者能够更好地理解和选择适合特定场景的函数。 ### 数值函数 1. **长度计算** - Oracle使用`LENGTH`函数,而SQL Server使用`DATALENGTH`函数。 -...

    SQLServer和Oracle常用函数对比

    ### SQLServer和Oracle常用函数对比 本文将详细探讨在SQLServer与Oracle数据库系统中常用的数学函数及字符串处理函数之间的差异。对于数据分析师、数据库管理员以及软件开发者而言,掌握这两种数据库管理系统之间的...

    SQLServer和Oracle的常用函数对比

    在数据库管理领域,SQLServer与Oracle作为两大主流的数据库管理系统,各自拥有丰富的内置函数,用于数据处理、查询优化以及各种复杂的数据操作需求。本文将基于给定文件信息,深入探讨和对比SQLServer与Oracle中的...

    Oracle和SqlServer语法区别

    3. 用相应的SqlServer函数替代Oracle函数。 4. 检查所有的比较运算符。 5. 用“+”字符串串联运算符代替“||”字符串串联运算符。 6. 用Transact-SQL程序代替PL/SQL程序。 7. 把所有PL/SQL游标改为非游标SELECT语句...

    oracle到sqlserver存储过程语法转换

    - **SQL Server**: `ISNULL`函数同样用于处理NULL值。 ```sql SELECT ISNULL(column, 'default value') FROM table; ``` **6. 自定义函数与存储过程的创建** - **Oracle**: 创建函数或存储过程使用`CREATE OR...

    SQL Server和Oracle常用函数区别

    在数据库管理领域,SQL Server和Oracle都是广泛应用的关系型数据库管理系统,它们都提供了丰富的函数来处理各种数据操作。本文主要探讨的是这两个系统中常用的数学函数的区别。 1. 绝对值: 在SQL Server中,获取一...

    sql server和oracle中常用函数的比较

    以下是对给定内容中提及的SQL Server与Oracle函数的详细对比: ### 数学函数 1. **绝对值函数** - **SQL Server**: 使用`ABS()`函数来获取数值的绝对值。 - **Oracle**: 同样使用`ABS()`函数,但查询语句需包含`...

    SqlServer表结构转Oracle

    "SqlServer表结构转Oracle"是一个专注于帮助用户将SQL Server的表结构转换为Oracle数据库系统的工具。这个工具的主要目标是确保在不丢失任何重要信息的情况下,实现数据库结构的平滑过渡。 首先,我们来详细了解SQL...

    通过Oracle的透明网关和dblink直接取sqlserver表中的数据

    许多企业需要从SQL Server数据库中提取数据以供Oracle数据库使用,而Oracle的透明网关和DBLink是实现这一需求的关键技术。本文将深入探讨如何通过Oracle的透明网关和DBLink技术,直接从SQL Server数据库中提取数据,...

    ORACLE与SQLSERVER函数异同比较

    - **NULL值处理**: Oracle中的`NVL`函数与SQL Server中的`ISNULL`函数相似,用于处理NULL值。 #### 转换函数 转换函数用于在不同数据类型之间进行转换。以下是Oracle和SQL Server中的一些常见转换函数及其对应关系...

    oracle,sqlserver及mysql对比

    共享表空间似乎类似于 Oracle 的表空间,不同的表可以保存在同一个数据文件中。但是,MySQL 新版本也可以单独创建表空间,例如使用 CREATE TABLE 语句指定数据目录。 查询语句 Oracle、SQL Server 及 MySQL 的查询...

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

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

    ORACLE内部函数大全以及与SQLSERVER的区别

    - `ASCII`:Oracle 和 SQL Server 都提供此函数,用于将字符转换为其 ASCII 值。 - `CONCAT`:在 Oracle 中,字符串连接通常使用 `+` 操作符,而在 SQL Server 中则使用 `CONCAT` 函数。 - `LOWER/UPPER`:两个...

    SQLServer和Oracle常用函数对比.txt

    ### SQLServer和Oracle常用函数对比 本文将对SQLServer与Oracle数据库系统中常用的数学与字符串处理函数进行详细的对比分析。通过具体的示例和解释,帮助读者更好地理解两种数据库管理系统在处理相似需求时的不同...

    ORACLE中BLOB字段导入到SQL SERVER中的IMAGE字段

    如果是从HEX字符串或Base64编码还原,可以使用SQL函数如`CONVERT(VARBINARY(MAX), HEX_STRING)`或`CAST(/Base64_String/ AS VARBINARY(MAX))`。 4. **创建目标表结构**:在SQL SERVER中创建与源表结构类似的表,但...

    Oracle SQL 内置函数大全

    Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出

    ORACLE和SQL Server的语法区别

    - 用相应的SQL Server函数替代Oracle函数。 #### 五、字符串连接 - **Oracle:** Oracle使用`||`作为字符串连接运算符。 ```sql SELECT 'Hello' || 'World' AS Result; ``` - **SQL Server:** SQL Server使用...

Global site tag (gtag.js) - Google Analytics