Heim > Datenbank > MySQL-Tutorial > Hauptteil

集智数据平台报表如何调用Oracle数据存储过程

WBOY
Freigeben: 2016-06-07 17:05:19
Original
876 Leute haben es durchsucht

需要注意的是,当在单元格中用call函数调用存储过程时,执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个

数据集的数据来自存储过程。sql语句执行的时候要先编译,然后执行。存储过程就是编译好了的一些sql语句。应用程序需要用的时候直接调用就可以了,所以效率比较高。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和复杂的运算。存储过程可以返回结果集,可以返回参数,也可以同时返回结果集和参数。

存储过程的参数分为输入参数和输出参数两种。输入参数是存储过程执行的条件参数。输出参数类似于返回值,,但是输出参数具有两个重要的优势:可以使用输出参数从存储过程传递出VarCharIntMoney或任何其他数据类型的值,而返回值则只能返回整数。输出参数的另一个优势就是在一个存储过程中可以有多个输出参数,一个存储过程可以包含1024个参数(其中包括输入和输出参数),但是只能包含一个返回值。

在调用过程中,其中以Oracle的存储过程较为特殊,因为oracle数据库对于存储过程的输出参数有一定要求,需要设置为游标类型,下面就举个例子:


存储过程写法:


CREATE OR REPLACE PACKAGE TYPES AS
   TYPE RQ_REF_CURSOR IS REF CURSOR;
   — procedure getData( V_TEMP OUT TYPES.RQ_REF_CURSOR);
END;



CREATE OR REPLACE PROCEDURE RQ_TEST_CUR
(
 V_TEMP OUT TYPES.RQ_REF_CURSOR,
 PID IN VARCHAR
)
AS
BEGIN
 OPEN V_TEMP FOR SELECT NAME FROM TEST WHERE ID = PID;
END RQ_TEST_CUR;



– Create table
create table TEST
(
  ID   VARCHAR2(10) not null,
  NAME VARCHAR2(10)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
– Create/Recreate primary, unique and foreign key constraints
alter table TEST
  add constraint TEST_PK unique (ID)
  using index
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );


在报表中数据集的设置:


集智数据平台报表如何调用Oracle数据存储过程


数据集中参数的设置:

集智数据平台报表如何调用Oracle数据存储过程


报表参数的设置:

集智数据平台报表如何调用Oracle数据存储过程


报表模版设计:

集智数据平台报表如何调用Oracle数据存储过程

需要注意的是,当在单元格中用call函数调用存储过程时,执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个字段,则返回第一个字段的结果值。

linux

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!