150.Oracle数据库SQL开发之 大对象——10g对大对象的增强
来源:互联网 发布:国家顶级域名是 编辑:程序博客网 时间:2024/05/07 13:03
150.Oracle数据库SQL开发之 大对象——10g对大对象的增强
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50185853
10g对大对象的下列增强:
n CLOB和NCLOB对象之间的隐式转换
n 在触发器中使用LOB时, :new属性的用法
10g以下的数据库版本中,使用TO_CLOB和TO_NCLOB函数在UNICODE文本和国家语言字符集文本之间进行显示转换。
CREATETABLE nclob_content (
id INTEGERPRIMARY KEY,
nclob_columnNCLOB
);
CREATEPROCEDURE nclob_example
AS
v_clob CLOB:= 'It is the east and Juliet is the sun';
v_nclobNCLOB;
BEGIN
-- insertv_clob into nclob_column; this implicitly
-- convertsthe CLOB v_clob to an NCLOB, storing
-- thecontents of v_clob in the nclob_content table
INSERT INTO nclob_content (
id,nclob_column
) VALUES (
1, v_clob
);
-- selectnclob_column into v_clob; this implicitly
-- convertsthe NCLOB stored in nclob_column to a
-- CLOB,retrieving the contents of nclob_column
-- into v_clob
SELECTnclob_column
INTO v_clob
FROMnclob_content
WHERE id = 1;
-- displaythe contents of v_clob
DBMS_OUTPUT.PUT_LINE('v_clob = ' || v_clob);
END nclob_example;
/
执行如下:
collection_user@PDB1> set serveroutput on
collection_user@PDB1> call nclob_example();
v_clob = It is the east and Juliet is thesun
Call completed.
在触发器中使用LOB时 :new属性的用法。
在10g或更高版本中,挡在BEFORE UPDATE或BEFORE INSERT行级触发器中使用LOB时,可以使用:NEW属性。
CREATE TRIGGER before_clob_content_update
BEFORE UPDATE
ON clob_content
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('clob_content changed');
DBMS_OUTPUT.PUT_LINE(
'Length = '|| DBMS_LOB.GETLENGTH(:new.clob_column)
);
END before_clob_content_update;
/
INSERTINTO clob_content (
id,clob_column
) VALUES(
1,TO_CLOB('Creeps in this petty pace')
);
INSERTINTO clob_content (
id,clob_column
) VALUES(
2, TO_CLOB('from day to day')
);
执行如下:
collection_user@PDB1> update clob_content setclob_column='Creeep in this petty pace' where id=1;
clob_content changed
Length = 25
1 row updated.
- 150.Oracle数据库SQL开发之 大对象——10g对大对象的增强
- 151.Oracle数据库SQL开发之 大对象——11g对大对象的增强
- 145.Oracle数据库SQL开发之 集合——10g对集合的增强
- 146.Oracle数据库SQL开发之 大对象——大对象简介
- 147.Oracle数据库SQL开发之 大对象——理解大对象类型
- 148.Oracle数据库SQL开发之 大对象——在PLSQL中使用大对象
- 149.Oracle数据库SQL开发之 大对象——理解LONG和LONG RAW类型
- 129.Oracle数据库SQL开发之 数据库对象——其他有用的对象函数
- oracle数据库中的大对象1——永久性的
- 125.Oracle数据库SQL开发之 数据库对象——数据库中使用对象类型
- Oracle数据库的大对象LOB
- 131.Oracle数据库SQL开发之 数据库对象——用户自定义的构造函数
- oracle数据库中的大对象
- 123.Oracle数据库SQL开发之 数据库对象——对象创建
- 124.Oracle数据库SQL开发之 数据库对象——查看对象类型
- 126.Oracle数据库SQL开发之 数据库对象——PLSQL中使用对象
- 130.Oracle数据库SQL开发之 数据库对象——NOT INSTANTIABLE对象类型
- oracle数据库中的大对象2—— temporary lobs
- Mastering Opencv ch3: markerless AR(二)
- 149.Oracle数据库SQL开发之 大对象——理解LONG和LONG RAW类型
- rt3070 无线wifi模块移植到linux,并连接无线路由上网
- 欢迎使用CSDN-markdown编辑器
- (4)用DuiCreator的DuiLib类向导,加速多窗口程序制作
- 150.Oracle数据库SQL开发之 大对象——10g对大对象的增强
- Linux系统对IO端口和IO内存的管理
- cf(417A,B,C)
- TIMESTAMP 数据类型
- 151.Oracle数据库SQL开发之 大对象——11g对大对象的增强
- iOS开发零基础教程之Git的一些常用命令
- 【蓝桥杯】切面条
- 152.Oracle数据库SQL开发之 JAVA——准备工作
- 简单PHP会话(session)说明