oracle存储过程导入
① 创建oracle存储过程,要求把一个表的数据导入另一个表中然后删除原表且要有异常处理和日志输出
又是你呀,我再把代码改改,很简单,代码如下
create or replace procere test
is
begin
--两个表字段一样
insert into 表名1 select * from 表名2;
--字段不一样
insert into 表名1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表名2;
--删除原表数据
delete 表名2
或者
TRUNCATE TABLE 表名2
COMMIT;
WHEN OTHERS THEN --当运行出现异常
dbms_output.put_line(sqlERRM(SQLCODE));--输出到控制台
end
② 如何把oracle存储过程保存到数据库里
oracle
存储过程的基本语法
1.基本结构
CREATE
OR
REPLACE
PROCEDURE
存储过程名字
(
参数1
IN
NUMBER,
参数2
IN
NUMBER
)
IS
变量1
INTEGER
:=0;
变量2
DATE;
BEGIN
END
存储过程名字
2.SELECT
INTO
STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
BEGIN
SELECT
col1,col2
into
变量1,变量2
FROM
typestruct
where
xxx;
EXCEPTION
WHEN
NO_DATA_FOUND
THEN
xxxx;
END;
...
3.IF
判断
IF
V_TEST=1
THEN
BEGIN
do
something
END;
END
IF;
4.while
循环
WHILE
V_TEST=1
LOOP
BEGIN
XXXX
END;
END
LOOP;
5.变量赋值
V_TEST
:=
123;
6.用for
in
使用cursor
...
IS
CURSOR
cur
IS
SELECT
*
FROM
xxx;
BEGIN
FOR
cur_result
in
cur
LOOP
BEGIN
V_SUM
:=cur_result.列名1+cur_result.列名2
END;
END
LOOP;
END;
7.带参数的cursor
CURSOR
C_USER(C_ID
NUMBER)
IS
SELECT
NAME
FROM
USER
WHERE
TYPEID=C_ID;
OPEN
C_USER(变量值);
LOOP
FETCH
C_USER
INTO
V_NAME;
EXIT
FETCH
C_USER%NOTFOUND;
do
something
END
LOOP;
CLOSE
C_USER;
8.用pl/sql
developer
debug
连接数据库后建立一个Test
WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
③ oracle 11G中 怎样导入 视图和存储过程
利用客户端软件OBJECT BROWSER或者PLSQL
表示菜单中有一个脚本实行项,打开,把你的视图和存储过程的SQL文件选择好后,点击实行就好了.
④ oracle 怎么用存储过程导入DMP文件,而且是远程操作的
哈,开个玩笑先。远程操作就不要加了嘛,因为几乎所有的人都远程操作oracle。
你是不是新安装了一台服务器,把原来的数据(包括存储过程等)全备份再导入新服务器?
简单一点的你下载个TOAD软件,再选择相应的是导入导出,一般新服务器选database方式。当然,这里不知道你的情况,具体还得看你自己的需求了。
⑤ oracle如何存储过程导入.def文件数据
可以使用外部表,和sqlldr一样的原理。外部表指向操作系统文件,可以直接查询外部表,和查询普通表是一样的。
⑥ datastage V8.5版本怎么读取oracle存储过程呢使用表结构导入功能,只能看到表和视图。
通过导入元数据的方法,是无法导入存储过程的。
要导入存储过程,需要配置oracle服务器的ODBC连接。
datastage一般都已经安装了各种数据库的ODBC驱动程序的,基本是包含了绝大部分的数据库。使用的时候只需要对这些ODBC进行配置就可以,而不需要另外找什么ODBC驱程来安装。
配置过程基本就是对两个文件进行修改:
.odbc.ini和uvodbc.config
注意第一个文件前面是有个“.‘的。
具体配置可以参考 $DSHOME/Sample/ 路径下的例子和说明文档。
⑦ Oracle如何导入存储过程各位大虾,帮帮忙!
各位大虾,帮帮忙! 使用Oracle导入表可以,但应该怎么导入存储过程呢? 满意答案未知元素7级2011-01-17你是使用imp程序导入的,是吧?如果用imp的话,直接导入就可以了! 追问: 我导入了,不过载存储过程里面没有啊! 回答: 你刷新一下看看! 追问: 刷新了,不过就是没有啊!导入表可以,但是存储过程就不行了!导出存储过程的时候是用导出用户对象导的,但是导入的时候只能用导入表啊,还有其他的方法吗? 回答: 你可以试着使用exp命令导出,然后imp命令导入! 追问: 哦!我知道了,试一下!谢谢!
⑧ 如何把导出的表和存储过程导入oracle
可以使用expdp,不过很麻烦 主要是看你的需求,如果只是一两个存储过程,例: select text from all_source where name = '‘; --引号里面填写要查看的存储过程名字。
⑨ oracle imp命令怎么只导入某个存储过程
通过输入 IMP 命令和您的用户名/口令, 导入
操作将提示您输入参数:
例如: IMP SCOTT/TIGER
或者, 可以通过输入 IMP 命令和各种参数来控制导入
的运行方式。要指定参数, 您可以使用关键字:
格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导入整个文件 (N)
BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表
FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容 (N) TABLES 表名列表
IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
GRANTS 导入权限 (Y) INCTYPE 增量导入类型
INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
ROWS 导入数据行 (Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
DESTROY 覆盖表空间数据文件 (N)
INDEXFILE 将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
FEEDBACK 每 x 行显示进度 (0)
TOID_NOVALIDATE 跳过指定类型 ID 的验证
FILESIZE 每个转储文件的最大大小
STATISTICS 始终导入预计算的统计信息
RESUMABLE 在遇到有关空间的错误时挂起 (N)
RESUMABLE_NAME 用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION 导入流的一般元数据 (Y)
STREAMS_INSTANTIATION 导入流实例化元数据 (N)
DATA_ONLY 仅导入数据 (N)
下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
TABLESPACES 将要传输到数据库的表空间
DATAFILES 将要传输到数据库的数据文件
TTS_OWNERS 拥有可传输表空间集中数据的用户
希望能有你想要的
⑩ oracle 含有存储过程的数据怎么导入
实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。