① 怎么在Oracle中写执行sql的sql语句
可以使用 execute immediate
--FYI
--execute immediate不支持多行返回,如果需要可新建临时表
declare
v_source_sql varchar2(1000);
v_union_sql varchar2(1000);
begin
select column_name into v_source_sql from table_name ;--get source sql
v_union_sql='select * from tablename2,('||v_source_sql ||') h where ......';--sql str
-- 之前先创建好所需字段的temp_table
execute immediate('insert into temp_table '||v_union_sql );
--在临时表中就是你所需要的数据。
exception ......
--如果只是需要返回单行数据,则可将execute immediate嵌入在sql中使用
--execute immediate str into parameter1 ,parmeter2...--返回参数
where column=:parameter....条件参数
--
-我说的很仔细吧:) 今天心情好
end;
② 如何用PL/SQL在oracle下执行多个SQL脚本
1:并行执行的话,可以多开窗口
2:串行执行多个脚本的话,可以使用把下面内部保存在1个sql脚本内容,这样自动调用多个脚本执行
@@D:SQLautoExec1.sql
@@D:SQLautoExec2.sql
@@D:SQLautoExec3.sql
③ oracle 怎么运行SQl脚本
连接数据库SQL> connect / as sysdba
运行脚本SQL> @/admin/XX.sql 这里的/adminXX.sql 是绝对路径名, linux系统的话要注意 目录权限问题,windows就不用。
④ oracle怎么用命令执行sql文件
Oracle执行外部文件:
c:>sqlplus
user/pwd@db
sql>@new.sql
执行多个sql文件:
1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:
c:>dir/b
>
d:/1.sql
会把所有的sql文件名都输出到一个sql文件中。
2.用UltraEdit打开生成的sql文件,alt+C切换到column
mode,给所有的行前都添加一个"@",保存。
3.在sqlplus中执行"@d:/1.sql"
如何避免'&'字符:
sql中&可以传递参数,但有时需要插入'&',例:
SQL>
select
'&hello'
v
from
al;
输入
hello
的值:
hello
原值
1:
select
'&hello'
v
from
al
新值
1:
select
'hello'
v
from
al
v
-----
hello
可以使用如下方法避免:
A:
SQL>
select
chr(38)
||
'hello'
v
from
al;
V
------
&hello
B:
SQL>
set
define
off
SQL>
select
'&hello'
v
from
al;
V
------
&hello
⑤ oracle中如何执行sql语句
1.在SQL*PLUS下按回车不行是因为你在SQL语句结束时没有以;(分号)结尾,以分号结尾再按回车就可以了
2.如果常用的话,建议使用PL/SQL Developer,功能强,易使用
⑥ Oracle 批量执行多个sql文件
方法如下:
1:运行cmd进入命令行界面
2:进入到存放批量sql的文件夹下面
3:输入命令 sqlplus 数据库名/密码@数据库 按回车键
4:输入spool 指定路径:\a.log 按回车键 (此步骤的主要作用就是追踪批量执行sql的日志,路径随便写,只要能找到就行,a.log可以随便起名,但是必须要.log后缀)
5:@start.sql 按回车键(在批量sql文件夹下写一个文件,名字叫start.sql,其中在这个文件里面写批量sql的文件名)
具体格式如下:@@sql的文件名.sql;
@@sql的文件名2.sql;
6:spool off (此时a.log中所有日志已经写入完毕)
7:exit 退出sqlplus
当然只有一个sql文件,但是里面有多个insert语句,数据量非常大,此时也可以在命令状态下执行,前4步是一样的,第五步就是@文件名.sql;
⑦ oracle执行一个sql脚本文件
用job来实现,可以把脚本文件写为存储过程直接用job调用就好了,这个定时执行,如果执行一次可以用PLSQL Developer直接导入sql脚本执行