oracle sql developer执行脚本 你知道Oracle中exec和call的区别吗?

[更新]
·
·
分类:互联网
4357 阅读

oracle sql developer执行脚本

你知道Oracle中exec和call的区别吗?

你知道Oracle中exec和call的区别吗?

1、先执行个测试Sql,检查一下环境。
环境OK。
SQL:
select sysdate from dual
2、call:
使用call 调用一个系统函数dbms_output.put_line。
可以看到,可以正常执行,并且得到预期的执行结果。
SQL:
set serveroutput on--用来看到函数的输出
call dbms_output.put_line(use key call)
3、exec:
使用exec调用一个系统函数dbms_output.put_line。
可以看到,执行时报错了ORA-00900。
SQL:
execdbms_output.put_line(use key exec)
4、小结:
call可以和sql一样执行;
exec不是sql的关键字,不能像sql一样执行。
小贴士:
exec就是execute的缩写了
5、说好的call和exec很像,很暧昧了。在哪了
客官稍等,马上就来:
SQL*Plus上场!!!
命令:
sqlplus / as sysdba
6、重复在Oracle SQL Developer中操作。
可以看到都成功了!
因为在实际的数据库开发中,不可能在Oracle SQL Developer中执行。
大多数是在PL/SQL脚本中,其它语言,譬如java的代码中执行。
这样就分不出来这两个关键字的区别了。
7、再往里面看看,这两个关键词的区别。
call 在Oracle实际执行时没有变化。因为本来就是Oracle的关键字
exec 在Oracle实际执行时,转换成begin exec后面跟的语句块 end 可以理解为Oracle为方便使用而引入的语法糖吧。
SQL:
select sql_text from v$sql where sql_text like %目标语句中带的特殊字符%

怎样将Oracle中的数据导出成SQL脚本?

可用第三方工具PLSQLDeveloper将oracle的数据导成SQL脚本。使用工具:PLSQLDeveloper步骤:
1、打开PLSQLDeveloper,并登录到要导出数据的库里。
2、进入后,点击上方菜单栏的“工具”—“导出表”。
3、然后,选择“SQL插入”标签,按住电脑的ctrl键选择要导出数据的表名,并且勾选“创建表”选项,最后选择文件输出路径,点击“导出”按钮,等待执行完毕。
4、这样就会在指定路径下生成指定的文件名字,内容如下: