`

Oracle Type

 
阅读更多
DECLARE  
  TYPE CURRENT_INV_TYPE IS RECORD(  
    CURRENT_ID   TEST2.C1%TYPE,  
    CURRENT_NAME TEST2.C2%TYPE,  
    CURRENT_DATE TEST3.BIRTHDAY%TYPE);  
  CURRENT_RECORD CURRENT_INV_TYPE;  
  
  TYPE SETTLE_TYPE IS TABLE OF TEST2%ROWTYPE;  
  V_SS SETTLE_TYPE;  
  
  V_MIN_WEIGHT NUMBER := 2.514;  
  V_EXIT       NUMBER := 11;  
BEGIN  
  
  --如果查询不到数据 into 处会报  no data found 异常 ,如果查询到多条数据会报ORA-01422 exact fetch returns more than requested number of rows异常  
  
  SELECT T.C1, T.C2, T.C3  
    INTO CURRENT_RECORD  
    FROM TEST2 T  
   WHERE ROWNUM = 1;  
  
  DBMS_OUTPUT.put_line('input:' || SQL%ROWCOUNT);  
  
  IF CURRENT_RECORD.CURRENT_ID = 11 THEN  
    DBMS_OUTPUT.put_line('input:' || CURRENT_RECORD.CURRENT_ID);  
  END IF;  
  --此处into前的列数必须和v_ss 的列数相同
  SELECT T.C1, T.C2, SYSDATE BULK COLLECT INTO V_SS FROM TEST2 T;  
  
  FOR R IN V_SS.FIRST .. V_SS.LAST LOOP  
    IF V_MIN_WEIGHT < V_SS(R).C1 THEN  
      DBMS_OUTPUT.put_line('MIN_WEIGHT:' || V_SS(R).C1);  
    END IF;  
    DBMS_OUTPUT.put_line('Loop!');  
    IF V_EXIT = V_SS(R).C1 AND V_SS(R).C2 = 'S' THEN  
      DBMS_OUTPUT.put_line('退出!');  
      EXIT; --退出循环  
    END IF;  
  END LOOP;  
  
EXCEPTION  
  WHEN OTHERS THEN  
    DBMS_OUTPUT.put_line(SQLCODE || ':' || SQLERRM);  
    ROLLBACK;  
END;  

 

分享到:
评论

相关推荐

    oracle 用表结构创建 type

    在Oracle数据库环境中,使用现有的表结构来创建Type是一种常见的需求,尤其当涉及到复杂的数据类型时。根据提供的文件信息,本文将详细介绍如何利用Oracle中的表结构自动生成Type,并深入探讨其中涉及的关键概念和...

    Oracle Create Type 详解

    Oracle Create Type 详解 Oracle Create Type 是 Oracle 数据库中的一种强大工具,可以用于创建自定义类型,例如对象类型、数组类型、表类型等。在本文中,我们将详细介绍 Oracle Create Type 的概念、语法和应用。...

    c#登陆界面与Oracle数据库连接并增删改查

    cmd.Parameters.Add(new OracleParameter("password", OracleType.VarChar, 20)); cmd.Parameters[0].Value = username; cmd.Parameters[1].Value = password; cmd.ExecuteNonQuery(); // 删除操作 OracleCommand ...

    向Oracle数据库插入Clob大段文本解决方法

    2. **创建参数数组**:创建一个`OracleParameter`数组,其中包含一个类型为`OracleType.Clob`的参数,该参数将在执行时绑定到SQL语句中的CLOB字段。 3. **设置参数值**:将要插入的CLOB数据赋值给参数`lgContent`。 ...

    oracle blob转文件读取

    OracleParameter param = new OracleParameter(blobName, OracleType.Blob, blob.Length, ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, blob); cmd.Parameters.Add(param); // 执行...

    oracle+c# 数据库开发实例

    new OracleParameter("paraminout", OracleType.VarChar, 20) }; parameters[0].Value = m_A; parameters[2].Value = m_B; parameters[0].Direction = ParameterDirection.Input; parameters[1].Direction = ...

    访问ORACLE存储过程

    cmd.Parameters.Add("name_out", OracleType.VarChar, 20); cmd.Parameters["name_out"].Direction = ParameterDirection.Output; // 添加输入参数 cmd.Parameters.Add("age_in", OracleType.VarChar, 20); cmd....

    C#中调用Oracle存储过程

    OracleParameter p_year = cmd.Parameters.Add("p_year", OracleType.VarChar, 10); p_year.Direction = ParameterDirection.Input; // 设置参数的模式为输入 p_year.Value = str_Year; // 设置参数值 try { ...

    oracle特有的错误:ORA-01036:非法的变量名/编号

    4. **类型匹配**:OracleCommand的`Parameters`集合中的数据类型(OracleType)应与数据库表列的数据类型相匹配。在示例中,`:id`被定义为`OracleType.Char`,这意味着在数据库中对应的`tea_id`字段应该是字符类型的...

    C#实现的数据库源代码

    OracleType oracleType = this.ToOracleDbType(columnInfo.ColumnType); OracleParameter parameter = new OracleParameter(":", oracleType); parameter.SourceColumn = columnInfo.PropertyName; parameter....

    C#调用oracle存储过程最简单的实例[归类].pdf

    new OracleParameter("paraminout", OracleType.VarChar, 20) }; parameters[0].Value = m_A; parameters[2].Value = m_B; parameters[0].Direction = ParameterDirection.Input; parameters[1].Direction = ...

    oracle存储过程连接例子

    cmd.Parameters.Add("PRESULT", OracleType.Cursor).Direction = ParameterDirection.Output; ``` 这里添加了两个参数: - 输入参数`pSTID`,类型为`VarChar`,方向为输入(`ParameterDirection.Input`),值为`"BA...

    用ASP.NET 2.0在Oracle中存取图片(文件)的操作

    cmd.Parameters.Add(":ID", OracleType.VarChar, 36).Value = Guid.NewGuid().ToString(); cmd.Parameters.Add(":Name", OracleType.VarChar, 50).Value = fileUp.FileName; int intLen = fileUp.PostedFile.Content...

    Oracle 函数的运用

    OracleParameter p2 = new OracleParameter("result", OracleType.VarChar, 100); p2.Direction = ParameterDirection.ReturnValue; cmd.Parameters.Add(p1); cmd.Parameters.Add(p2); orcN.Open(); cmd....

    反射框架-SQL和Oracle数据库中

    对于Oracle数据库,反射同样可以应用于ADO.NET数据提供者(OracleClient或Oracle.ManagedDataAccess.Client)。你可以动态地打开数据库连接,创建Command对象,设置CommandText,绑定参数,并执行查询。这使得你的...

    ocs.zip_OTL linux_oracle

    "ocs.zip_OTL_linux_oracle"这个项目显然涉及到在Linux环境下使用C++编程语言,通过OTL(Oracle Type Library)库与Oracle数据库进行数据操作。OTL是一个开源的C++接口,它使得开发人员能够轻松地利用Oracle数据库的...

    Oracle 11gR2 pl/sql package and type 参考手册

    Oracle 11gR2 pl/sql package and type 参考手册

    Oracle Solaris 9 -Sun ONE Application Server 7 Platform Summary-

    * Oracle Type2 和 Type4 驱动,支持 Oracle 8i 和 Oracle 9i 数据库 * Datadirect Technologies Connect JDBC 3.0 驱动,支持 Oracle 9i 数据库 * PointBase Type4 驱动,支持 PointBase Network Server 4.2 数据库...

Global site tag (gtag.js) - Google Analytics