在PLSQL中用SQL查询语句怎样实现图中情况

在PLSQL中用SQL查询语句怎样实现图中情况,第1张

select substr(参数值,instr(参数值,'=',1)+1,instr(参数值,',',1)-instr(参数值,'=',1)-1) as 得到A的值,substr(参数值,instr(参数值,'=',1)+1,instr(参数值,',',1)-instr(参数值,'=',1)-1) +长度 as 得到L值, substr(参数值,instr(参数值,'=',1)+1,instr(参数值,',',1)-instr(参数值,'=',1)-1) +长度025710 as 得到表面积 from 表名

你test的时候需 在test下面的inmonth里面输入一个值!

比如

create procedure c(a in varchar2,b out varchar2)

is

begin

b:=a;

end;

test的时候

需要在a 的value中输入一个值!

b不用输入,在执行完procedure后b便会有一个值(a)

1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示

2、然后在打开的工具下拉菜单中,点击首选项,如下图所示。

3、接着在打开的窗口中,点击左侧中的输出选项,如下图所示。

4、进入到了输出界面中,在缓冲区大小中输入大小。

5、大小输入完成之后,点击确定,如下图所示就完成了。

用动态SQL就可以了

CREATE OR REPLACE PROCEDURE COMMDEVIDEPAGE(P_TABLENAME IN VARCHAR2,

P_SIZE IN NUMBER,

P_PAGENOW IN NUMBER,

P_COUNT OUT NUMBER,

P_COUTPAGE OUT NUMBER,

P_CURSOR OUT SYS_REFCURSOR) IS

V_SQL VARCHAR2(1000);

V_SIZE NUMBER;

V_PAGENOW NUMBER;

V_BEGIN NUMBER;

V_END NUMBER;

BEGIN

V_SQL := 'SELECT COUNT() FROM ' || P_TABLENAME;

EXECUTE IMMEDIATE V_SQL

INTO P_COUNT; --计算总记录数

--求总页数

IF MOD(P_COUNT, P_SIZE) = 0 THEN

P_COUTPAGE := FLOOR(P_COUNT / P_SIZE);

ELSE

P_COUTPAGE := FLOOR(P_COUNT / P_SIZE) + 1;

END IF;

V_BEGIN := (P_PAGENOW - 1) P_SIZE + 1;

V_END := P_PAGENOW P_SIZE;

OPEN P_CURSOR FOR 'Select p From (Select Rid

From (Select Rid, Rownum Rn

From (Select Rowid Rid

From ' || P_TABLENAME || '

Where Promo_Id Is Not Null

Order By Promo_Id)

Where Rownum <=' || V_END || ')

Where Rn >=' || V_BEGIN || ') t,

' || P_TABLENAME || ' p

Where pRowid = tRid';

END COMMDEVIDEPAGE;

在oracle plsql程序块中,只能使用DML和常规的事务控制语句(TCL),

你这个是在块中使用了DDL,这个是不允许的,因为oracle的plsql是提前bind的(预编译),而ddl所影响的对象往往是不存在的,这个是预编译所不允许的,所以如果想在块中使用ddl,则必须使用动态sql(所起作用就是让编译推迟到runtime)

原理讲的可能有点模糊,呵呵。感兴趣的可以系统的看下相关资料,这里把你的程序简单改动下就可以通过编译了:

declare

a varchar2(50):='20100422';

b varchar2(50):='20100424';

begin

execute immediate 'create table test as select from oct_t_ehr where ehr_date between a and b';

end;

以上就是关于在PLSQL中用SQL查询语句怎样实现图中情况全部的内容,包括:在PLSQL中用SQL查询语句怎样实现图中情况、plsql中如何单步调试带参数的存储过程、plsql中怎么调用带输出参数的存储过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9602291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存