扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、首先打开plsql,连接上oracle数据库,假设有一张数据库表叫做 tblTest,通过sql查询也可以看出,这里面是有测试数据的。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、马龙网络推广、小程序制作、马龙网络营销、马龙企业策划、马龙品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供马龙建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
2、oracle数据库添加列,比如,往测试表 tblTest 添加一个 日期类型的列 UpdateDate,sql语句就可以像下面这样实现,写完SQL之后,选中这一行sql,点击plsql左上角次轮状的图标执行sql语句:alter table TBLTEST add UpdateDate date;
3、执行成功之后,通过 select * from TBLTEST ,就能看到新添加的列默认都是空值。
4、oracle数据库删除列,比如,将上一步添加的 UpdateDate 列删除掉,就可以使用下面的sql语句修改表:alter table tbltest drop column updatedate;
5、执行成功后,再次使用 select * from TBLTEST ,就能看到 UpdateDate 列已经删除了。
6、oracle数据库修改列属性,比如,将测试表 tblTest 中 INTEGER 类型的 ITEMNUM 列修改为 number 类型,就可以使用下面的SQL语句:alter table tbltest modify ITEMNUM number;
7、在左侧 tbltest 表名上,点击鼠标右键,选择【Edit】选项,
8、然后在右侧出现的窗口中,点击【Columns】标签页,就能看到ITEMNUM已经从 INTEGER 改为 number 类型了。
1. 必须保证在一个事务内处理:JDBC connection autocommit conn.setAutoCommit(false);
2. 插入记录用empty_clob()函数带入空CLOB字段:Insert into table with CLOB column as empty_clob();
3. 用select把空CLOB对象查出,注意必须带for update子句来告知数据库接下来要修改该记录,否则SQL语句会返回错误告诉你没有for update子句:Select clob column with “for update” option like “select clob_field from clob_table where rowid=1 for update”;
4. 将返回的CLOB字段对象由JDK的Clob转换成Oracle 库的CLOB对象:Turn the return from java.sql.Clob to Oracle.sql.CLOB:
Clob clob = (Clob)rs.getClob("clob_field");
oracle.sql.CLOB tmpclob = (oracle.sql.CLOB)clob;
5. 用字符串填充该CLOB对象:
BufferedWriter bw = new BufferedWriter(tmpclob.getCharacterOutputStream());
bw.write(clobClValueArray.get(i).toString());
bw.flush();
bw.close();
6. 用结构化语句对象PreparedStatement实现DML操作:
PreparedStatement pstmt1 = conn.prepareStatement(“update clob_table set clob_field=? Where rowid=1”);
pstmt1.setClob(1, tmpclob);
pstmt1.execute();
7. 把事务提交实现CLOB字段操作。Commit the update: conn.commit();
8.读取CLOB内容也很简单:
PreparedStatement pstmt = conn.prepareStatement("select clob_field from clob_table where rowid=1");
ResultSet rs = pstmt.executeQuery();
Clob clob = (Clob)rs.getClob("clob_field");
String str;
if(null != clob){
str = clob.getSubString((long)1, clob.length());
}
--以下是我根据你的描述,做的测试,希望对你有帮助:\x0d\x0a\x0d\x0a-- 新建一张表kongxianji:\x0d\x0aCREATE TABLE kongxianji(a VARCHAR2(200));\x0d\x0a\x0d\x0a-- 插入数据,然后提交:\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(6)789');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(67)89');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(678)9');\x0d\x0aCOMMIT;\x0d\x0aSELECT * FROM kongxianji;\x0d\x0a\x0d\x0a-- 把a中的括号去掉,然后提交,到这一步可以查看表中数据的变化情况:\x0d\x0aUPDATE kongxianji SET a = replace(a,substr(a,instr(a,'('),(instr(a,')')-instr(a,'(')+1)),'');\x0d\x0aCOMMIT;\x0d\x0a\x0d\x0aSELECT * FROM kongxianji;
Oracle
CHAR 定长字符串,最长2000字节
NCHAR 定长字符串,存储的数据为 NLS字符
VARCHAR2 变长字符串,最长4000字节
NVARCHAR2 变长字符串,存储的数据为 NLS字符
LONG 最大存储2G字符数据 不推荐使用(改用CLOB)
CLOB Oracle 9i 及以前,最大4G字符数据
Oracle10g 最大4G*数据库块大小的字符数据
NCLOB 基本同CLOB,就是存储的数据为NLS
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流