Oracle存储过程返回一张表数据】的更多相关文章

在oracle数据库中你要在程序里得到一张表的数据就必须先创建游标和SQL Service不一样. --创建游标create or replace package pkg_Dataas type refcursor is REF cursor; procedure pro_rows(refcursor out refcursor);end pkg_Data; --创建存储过程create or replace procedure prc_DataInput(dateStr in varchar2…
Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解1. ORACLE常用的字段类型ORACLE常用的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数最长38位. 不够位时会四舍五入.DAT…
好久没上来了, 难道今天工作时间稍有空闲, 研究了一下oracle存储过程返回结果集. 配合oracle临时表, 使用存储过程来返回结果集的数据读取方式可以解决海量数据表与其他表的连接问题. 在存储过程中先根据过滤条件从海量数据表中选出符合条件的记录并存放到临时中, 可以通过一个视图将临时表与其他相关表连接起来, 从而避免海量数据造成的连接效率问题. 本文只讨论使用存储过程返回结果集. 具体实现如下: -- 启用服务器输出---------------------set serveroutput…
好久没上来了, 难道今天工作时间稍有空闲, 研究了一下oracle存储过程返回结果集. 配合oracle临时表, 使用存储过程来返回结果集的数据读取方式可以解决海量数据表与其他表的连接问题. 在存储过程中先根据过滤条件从海量数据表中选出符合条件的记录并存放到临时中, 可以通过一个视图将临时表与其他相关表连接起来, 从而避免海量数据造成的连接效率问题. 本文只讨论使用存储过程返回结果集. 具体实现如下: -- 启用服务器输出---------------------set serveroutput…
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS     type Tabletype is ref cursor;     PROCEDURE SP_CPZD      (      CPNO IN VARCHAR2,      STATUS IN VARCHAR2,      t_sql out Tabletype      );END;CRE…
  1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B =  A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbd…
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS     type Tabletype is ref cursor;     PROCEDURE SP_CPZD      (      CPNO IN VARCHAR2,      STATUS IN VARCHAR2,      t_sql out Tabletype      );END;CRE…
sql一张表数据导入另一张表   1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:   INSERT INTO 目标表 SELECT * FROM 来源表;   2.比如要将 articles 表插入到 newArticles 表中,则是:   INSERT INTO newArticles SELECT * FROM articles;   3.如果只希望导入指定字段,可以用这种方法:    INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1,…
  oracle 存储过程 返回结果集 CreationTime--2018年8月14日09点50分 Author:Marydon 1.情景展示 oracle存储过程如何返回结果集 2.解决方案 最简单的方式:返回oracle的系统游标 CREATE OR REPLACE PROCEDURE CARD_COUNT_YLJG(V_START_DATE IN VARCHAR2, --开始时间 V_END_DATE IN VARCHAR2, --结束时间 V_PARENTORGID IN VARCHA…
一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... Connection Current database: *** NONE *** Reading table information for completion of table and column names You can turn off this feature to get a quic…
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/ 1. 复制表结构及其数据 create table table_name_new as select * from table_name_old 2. 只复制表结构 create table table_name_new as select * from table_name_ol…
注:本文为博主 原创. jdbctemplate 调用oracle存储过程 事务 临时表  有返回结果 1:java 代码 本逻辑代码本是想把 java 代码里的list<Strign>类型的数据传递到Oracle的为数组入参的存储过程中.如< java怎样将一组对象传入Oracle存储过程 .数组做为参数传入Oracle存储过程操作数据库  >的逻辑一般操作.在结合jdbctemplate .使用了<Spring如何使用JdbcTemplate调用存储过程的三种情况>…
根据业务需求,需要从MySQL库中同步一张表tap_application到Oracle中,下面是记录的导入过程. 1. 查看MySQL表结构 desc tap_application; +---------------------+---------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------------…
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中所有引用这个ID的表 一:约束类型简介 约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符 合约束,那么DML操作(INSERT.UPDATE.DELETE)将不能成功执行.约束包括NOT NU…
将SQLServer2008中的某些表同步到Oracle数据库中,不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现. 实例1:SQLServer2008有一个表employ_epl是需要同步到一个EHR系统中(Oracle11g),实现数据库的同步步骤如下: 1.在Oracle中建立对应的employ_epl表,需要同步哪些字段我们就建那些字段到Oracle表中.注意:Oracle的数据类型和SQLServer的数据类型是不一样的,需要进行转换 ,) ) ) )    …
在oracle的存储过程中,不能直接使用DDL语句,比方create.alter.drop.truncate等. 那假设我们想在存储过程中建立一张暂时表就仅仅能使用动态sql语句了: create or replace procedure pro as str_sql varchar2(100); begin -- 创建暂时表 str_sql := 'create global temporary table temp_table ( col1 varchar2(10), col2 number…
一:无返回值的存储过程调用 存储过程: CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)   AS BEGIN INSERT INTO DBO.EMP (ID,NAME) VALUES (PARA1, PARA2); END PRO_1; Java代码: package com.icesoft.service; import java.sql.*; import java.sql.ResultSet; p…
oracle版本:11g oracle存储过程,使用游标的方式返回多行.多列数据集合: CREATE OR REPLACE PROCEDURE SP_DATA_TEST( /*P_ID IN INT,*/ --传入参数,不需要可注释 O_CUR OUT SYS_REFCURSOR --输出数据,本文重点描述 ) IS BEGIN OPEN O_CUR FOR SELECT * FROM (SELECT 'A', SYSDATE - 1 FROM DUAL UNION ALL SELECT 'B'…
MSSQL的存储过程返回数据集好简单,直接SELECT 就可以. ORACLE的存储过程返回数据集必须通过游标. 创建ORACLE存储过程 create or replace procedure cxg_test(out_var out sys_refcursor)  is   begin    open out_var for select * from a;  end; 调用ORACLE存储过程 declare     cur_calling sys_refcursor;    v_row…
方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问B的数据库. 第一步.配置Aserver端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 加入例如以下行,当中DBLINK为连接名(…
http://www.2cto.com/database/201204/127180.html oracle实现存储过程返回查询结果集合的方法   --实现存储过程返回查询结果集合的方法 ,以下代码来自网络整理  http://topic.csdn.net/u/20090721/12/ba403739-3212-4016-83ec-2a7062f21081.html  Java代码   --第一种方法   create or replace Package SYSBasic   as  www.…
动态根据表数据复制一个表的数据到另一个表 把track表的记录 根据mac_id后两位数字,复制到对应track_? 的表中 如:mac_id=12345678910,则后两位10 对应表为track_10,就把此记录复制到track_10中 创建一个 sub_track的存储过程实现: -- 创建一个 名为sub_track的存储过程CREATE PROCEDURE sub_track() begin declare i int; -- 定义 循环变量i ; -- 定义imei最后两位 ; -…
在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库. 第一步.配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为: $ORACLE_HOME/network/admin/tnsnames.ora 需要在该文件中增加对B库的配置项,格式如下 ZBCDB3…
有一个需求需要同步两张表的相同字段,比如表A和表B,这两张表是不同的用户下的表,表结构是一样的. 一开始我简单写了一个sql语句,如下: update ord_log1 A set (A.pid, A.beg_ticket_no, A.end_ticket_no) = (select B.pid, B.beg_ticket_no, B.end_ticket_no from newhl.ord_log B where A.mer_id = B.mer_id and A.ord_id = B.ord…
现有6张表存在关联关系,要删除主表则其他5张表关联数据也要一块删掉(单条sql多id批量删除) delete t1,t2,t3,t4,t5,t6 FROM rmd_v AS t1 LEFT JOIN rmd_v1 AS t2 ON t1.uuid = t2.rvuuid LEFT JOIN rmd_v2 AS t3 ON t1.uuid = t3.rvuuid LEFT JOIN rmd_v3 AS t4 ON t1.uuid = t4.rvuuid LEFT JOIN rmd_v4 AS t5…
有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发器: begin set @disable=1; if @disable=1 and NOT EXISTS(SELECT 1 FROM tableB where ID=new.ID) then insert into tableB (ID,对应字段1) values(new.ID,new.对应字段1…
1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old 3. 只复制表数据: 如果两个表结构一样: insert into table_na…
一.复制表结构及其数据 create table new_table as (select * from old_table); 二.只复制表结构 create table new_table as (select * from old_table where 1=2); 三.只复制表数据 如果两个表结构一样: insert into new_table select * from old_table; 如果两个表结构不一样: insert into new_table(column1,colu…
1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old 3. 只复制表数据: 如果两个表结构一样: insert into table_na…
1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old 3. 只复制表数据: 如果两个表结构一样: insert into table_na…