ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构
来源:互联网 发布:判断80端口是否打开 编辑:程序博客网 时间:2024/05/04 02:42
--创建一个表
DROP TABLE TEST CASCADE CONSTRAINTS ;
CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30));
--查看具体的权限
SELECT DISTINCT PRIVILEGE FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE '%DIRECTORY%';
--用SYS用户授权给SCOTT
GRANT CREATE ANY DIRECTORY TO SCOTT ;
--授权后创建目录
CREATE OR REPLACE DIRECTORY FILENAME AS 'D:\临时';
--查询所建的表
SELECT * FROM TEST ;
--写TXT文件
DECLARE FILEHANDLE UTL_FILE.FILE_TYPE;--句柄
BEGIN
--FILENAME 必须大写,不然会提示目录路径无效
FILEHANDLE := UTL_FILE.FOPEN('FILENAME','UTIL_FILE.TXT','W');
UTL_FILE.PUT_LINE(FILEHANDLE,'HELLO ORACLE!');
UTL_FILE.PUT_LINE(FILEHANDLE,'你好,胖子!');
UTL_FILE.FCLOSE(FILEHANDLE);--关闭句柄
END;
--从TXT文件中读取内容插入到表TEST中
/*SET SERVEROUTPUT ON*/
DECLARE
FILEHANDLE UTL_FILE.FILE_TYPE;
FILEBUFFER VARCHAR(200);
BEGIN
FILEHANDLE := UTL_FILE.FOPEN('FILENAME','UTIL_FILE.TXT','R');
LOOP
BEGIN
UTL_FILE.GET_LINE(FILEHANDLE,FILEBUFFER);
INSERT INTO TEST(A) VALUES(FILEBUFFER);
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT ;
END;
END LOOP;
UTL_FILE.FCLOSE(FILEHANDLE);
COMMIT;
END;
--再次查询表
SELECT * FROM TEST ;
/*
-- 修改表结构
ALTER TABLE STU ADD (NAME2 VARCHAR2(10)); 增加新字段
UPDATE STU SET NAME2=SUBSTR(TRIM(NAME),1,10); 赋值给新字段
ALTER TABLE STU DROP(NAME); 删除原字段
ALTER TABLE STU RENAME COLUMN NAME2 TO NAME; 将新字段改名
DROP TABLE TEST CASCADE CONSTRAINTS ;
CREATE TABLE TEST(A VARCHAR(30),B VARCHAR(30));
--查看具体的权限
SELECT DISTINCT PRIVILEGE FROM DBA_SYS_PRIVS WHERE PRIVILEGE LIKE '%DIRECTORY%';
--用SYS用户授权给SCOTT
GRANT CREATE ANY DIRECTORY TO SCOTT ;
--授权后创建目录
CREATE OR REPLACE DIRECTORY FILENAME AS 'D:\临时';
--查询所建的表
SELECT * FROM TEST ;
--写TXT文件
DECLARE FILEHANDLE UTL_FILE.FILE_TYPE;--句柄
BEGIN
--FILENAME 必须大写,不然会提示目录路径无效
FILEHANDLE := UTL_FILE.FOPEN('FILENAME','UTIL_FILE.TXT','W');
UTL_FILE.PUT_LINE(FILEHANDLE,'HELLO ORACLE!');
UTL_FILE.PUT_LINE(FILEHANDLE,'你好,胖子!');
UTL_FILE.FCLOSE(FILEHANDLE);--关闭句柄
END;
--从TXT文件中读取内容插入到表TEST中
/*SET SERVEROUTPUT ON*/
DECLARE
FILEHANDLE UTL_FILE.FILE_TYPE;
FILEBUFFER VARCHAR(200);
BEGIN
FILEHANDLE := UTL_FILE.FOPEN('FILENAME','UTIL_FILE.TXT','R');
LOOP
BEGIN
UTL_FILE.GET_LINE(FILEHANDLE,FILEBUFFER);
INSERT INTO TEST(A) VALUES(FILEBUFFER);
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT ;
END;
END LOOP;
UTL_FILE.FCLOSE(FILEHANDLE);
COMMIT;
END;
--再次查询表
SELECT * FROM TEST ;
/*
-- 修改表结构
ALTER TABLE STU ADD (NAME2 VARCHAR2(10)); 增加新字段
UPDATE STU SET NAME2=SUBSTR(TRIM(NAME),1,10); 赋值给新字段
ALTER TABLE STU DROP(NAME); 删除原字段
ALTER TABLE STU RENAME COLUMN NAME2 TO NAME; 将新字段改名
ALTER TABLE 表名 MODIFY 字段名 VARCHAR2(长度);*/
分享: http://space.itpub.net/519536/viewspace-691051
- ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构
- 将txt文本读入C中(txt数据量大),将C中数据写入txt
- Java从键盘读入到文件cric .txt中,再从cric.txt中将数据读入到33.txt中
- matlab从文本txt文件中读入十六进制数据到矩阵并转换成十进制
- 从txt读入数据,写入数据
- C# 将文本写入txt文件中
- [C++]读写txt文件和从txt文件中读取数据写入数组中
- MFC中从txt文件读入字符串并写入编辑框
- 从txt中读入数据到数组中(fscanf)
- 将数据写入.txt文件中
- 将元组数据写入txt文件中
- unity中从txt文件中读取解析json数据&&unity中json数据写入txt文件
- C语言从txt文件中逐行读入数据存到数组中
- 将自己得到的数据从txt文档中读入,生成pcd文件
- 从txt中导入数据到Oracle数据库表中
- java写入TXT文件中
- java写入TXT文件中
- 从Excel中读取内容写入txt文件中
- DOM树节点解析
- 完成端口
- 排序算法归纳
- Ajax核心--XMLHttpRequest对象
- ABAP 向上取整和向下取整 CEIL & FLOOR
- ORACLE 中写入txt文本与从Txt文件中读入数据 修改表结构
- iphone图片拉伸的几种方法
- 让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]
- 在一台机器上同时运行多个Neo4j实例
- 程序设置,url地址过长配置问题
- C/C++误区四:char c = getchar();
- MySQL 数据导入、导出
- Jtable添加图片,并自由改变图片大小
- 什么是伪静态、动态、静态页面