oracle中如何执行 oracle命令行操作

oracle 怎么执行存储过程跟函数

调用oracle存储过程用begin...end的方式。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、涟源网络推广、微信平台小程序开发、涟源网络营销、涟源企业策划、涟源品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供涟源建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

基本语法:

begin

存储过程名(参数1,参数2……);--如果无参数则省略括号及括号内部分end;

如,有存储过程:

create

or

replace

procedure

p_testasv_begintime

varchar2(20);v_endtime

varchar2(20);v_str

varchar2(10);begin

v_begintime:=to_char(sysdate,'yyyy-mm-dd

hh24:mi:ss');

select

'badkano'

into

v_str

from

dual;

v_endtime:=to_char(sysdate,'yyyy-mm-dd

hh24:mi:ss');

dbms_output.put_line('开始时间为:'||v_begintime);

dbms_output.put_line('结束时间为:'||v_endtime);end;

执行:begin

p_test;end;

oracle中如何执行sql语句

1.在SQL*PLUS下按回车不行是因为你在SQL语句结束时没有以;(分号)结尾,以分号结尾再按回车就可以了

2.如果常用的话,建议使用PL/SQL Developer,功能强,易使用

oracle存储过程中如何执行动态SQL语句

有时需要在oracle

存储过程

中执行动态SQL

语句

,例如表名是动态的,或字段是动态的,或查询命令是动态的,可用下面的方法:

set

serveroutput

on

declare

n

number;

sql_stmt

varchar2(50);

t

varchar2(20);

begin

execute

immediate

'alter

session

set

nls_date_format=''YYYYMMDD''';

t

:=

't_'

||

sysdate;

sql_stmt

:=

'select

count(*)

from

'

||

t;

execute

immediate

sql_stmt

into

n;

dbms_output.put_line('The

number

of

rows

of

'

||

t

||

'

is

'

||

n);

end;

如果动态SQL

语句

很长很复杂,则可用包装.

CREATE

OR

REPLACE

PACKAGE

test_pkg

IS

TYPE

cur_typ

IS

REF

CURSOR;

PROCEDURE

test_proc

(v_table

VARCHAR2,t_cur

OUT

cur_typ);

END;

/

CREATE

OR

REPLACE

PACKAGE

BODY

test_pkg

IS

PROCEDURE

test_proc

(v_table

VARCHAR2,t_cur

OUT

cur_typ)

IS

sqlstr

VARCHAR2(2000);

BEGIN

sqlstr

:=

'SELECT

*

FROM

'||v_table;

OPEN

t_cur

FOR

sqlstr;

END;

END;

/

在oracle

中批量导入,导出和删除表名以某些字符开头的表

spool

c:\a.sql

select

'drop

table

'

||

tname

||

';'

from

tab

where

tname

like

'T%';

spool

off

@c:\a


分享题目:oracle中如何执行 oracle命令行操作
转载注明:http://scyanting.com/article/hhseic.html