25-1:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT product_audio INTO obj FROM pm.online_media
WHERE product_id=3117 FOR UPDATE;
obj.clearLocal();
UPDATE pm.online_media SET product_audio=obj
WHERE product_id=3117;
COMMIT;
END;
/
25-2:
DECLARE
obj ORDSYS.ORDAudio;
res INTEGER;
ctx RAW(64) :=NULL;
BEGIN
SELECT product_audio INTO obj FROM pm.online_media
WHERE product_id=3117;
res := obj.closeSource(ctx);
IF res=0 THEN
dbms_output.put_line('数据源关闭成功');
ELSE
dbms_output.put_line('数据源关闭失败');
END IF;
END;
/
25-3:
DECLARE
image ORDSYS.ORDImage;
BEGIN
SELECT product_photo INTO image FROM pm.online_media
WHERE product_id = 3117 FOR UPDATE;
image.deleteContent();
COMMIT;
END;
/
25-4:
conn / as sysdba
CREATE OR REPLACE DIRECTORY image_dir
AS 'D:\MEDIA\IMAGE';
GRANT READ,WRITE ON DIRECTORY image_dir TO pm;
conn pm/pm
DECLARE
obj ORDSYS.ORDImage;
ctx RAW(64) :=NULL;
BEGIN
SELECT product_photo INTO obj FROM pm.online_media
WHERE product_id = 3106;
obj.export(ctx,'file','IMAGE_DIR','3106.jpg');
END;
/
25-5:
DECLARE
obj ORDSYS.ORDVideo;
videobfile BFILE;
BEGIN
SELECT product_video INTO obj FROM pm.online_media
WHERE product_id = 3106;
videobfile := obj.getBFile();
END;
/
25-6:
DECLARE
obj ORDSYS.ORDVideo;
ctx RAW(64) := NULL;
BEGIN
SELECT product_video INTO obj FROM pm.online_media
WHERE product_id = 3106;
DBMS_OUTPUT.PUT_LINE('视频长度:'||DBMS_LOB.GETLENGTH(obj.getContent()));
END;
/
25-7:
DECLARE
image ORDSYS.ORDImage;
BEGIN
SELECT p.product_photo INTO image FROM pm.online_media p
WHERE product_id = 3106;
DBMS_OUTPUT.PUT_LINE('MIME类型:'||image.getMimeType());
END;
/
25-8:
DECLARE
image ORDSYS.ORDImage;
BEGIN
SELECT p.product_photo INTO image FROM pm.online_media p
WHERE p.product_id = 3106;
DBMS_OUTPUT.PUT_LINE(image.getSource());
END;
/
25-9:
DECLARE
image ORDSYS.ORDImage;
BEGIN
SELECT p.product_photo INTO image FROM pm.online_media p
WHERE p.product_id = 1743;
DBMS_OUTPUT.PUT_LINE('目录对象:' || image.getSourceLocation());
END;
/
25-10:
DECLARE
image ORDSYS.ORDImage;
BEGIN
SELECT p.product_photo INTO image FROM pm.online_media p
WHERE p.product_id = 1743;
DBMS_OUTPUT.PUT_LINE('源名称:' ||image.getSourceName());
COMMIT;
END;
/
25-11:
DECLARE
obj ORDSYS.ORDImage;
BEGIN
SELECT p.product_photo INTO obj FROM pm.online_media p
WHERE p.product_id= 3106;
DBMS_OUTPUT.PUT_LINE('源类型:'||obj.getSourceType());
END;
/
25-12:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3106;
DBMS_OUTPUT.PUT_LINE('更新时间:'||
TO_CHAR(obj.getUpdateTime(),'MM-DD-YYYY HH24:MI:SS'));
END;
/
25-13:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3106;
IF (obj.isLocal() = TRUE) THEN
DBMS_OUTPUT.PUT_LINE('数据存储在BLOB中');
ELSE
DBMS_OUTPUT.PUT_LINE('数据存储在外部数据源中');
END IF;
END;
/
25-14:
DECLARE
obj ORDSYS.ORDAudio;
res INTEGER;
ctx RAW(64) :=NULL;
userArg RAW(64);
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 1743;
res := obj.openSource(userArg, ctx);
COMMIT;
END;
/
25-15:
DECLARE
obj ORDSYS.ORDAudio;
buffer RAW(4000);
ctx RAW(64) :=NULL;
i INT;
BEGIN
SELECT p.product_audio into obj from pm.online_media p
WHERE p.product_id = 3106;
i:=100;
obj.readFromSource(ctx,1,i,buffer);
DBMS_OUTPUT.PUT_LINE('音频内容长度:'||
TO_CHAR(obj.getContentLength(ctx)));
END;
/
25-16:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT product_audio INTO obj FROM online_media
WHERE product_id = 3117;
obj.setLocal;
UPDATE online_media SET product_audio = obj
WHERE product_id = 3117;
COMMIT;
END;
/
25-17:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3117 FOR UPDATE;
DBMS_OUTPUT.PUT_LINE('原MIME类型'||obj.getMimeType());
obj.setMimeType('audio/basic');
DBMS_OUTPUT.PUT_LINE('新MIME类型'||obj.getMimeType());
UPDATE pm.online_media p SET p.product_audio = obj
WHERE p.product_id = 3117;
COMMIT;
END;
/
25-18:
CREATE OR REPLACE DIRECTORY audio_dir
AS 'D:\MEDIA\AUDIO';
GRANT READ,WRITE ON DIRECTORY audio_dir TO pm;
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3106 FOR UPDATE;
obj.setSource('file','AUDIO_DIR','shuizhonghua.mp3');
DBMS_OUTPUT.PUT_LINE(obj.getSource());
UPDATE pm.online_media p SET p.product_audio = obj
WHERE p.product_id = 3106;
COMMIT;
END;
/
25-19:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3106 FOR UPDATE;
DBMS_OUTPUT.PUT_LINE('更新前时间:'||
obj.getUpdateTime());
obj.setUpdateTime(SYSDATE);
DBMS_OUTPUT.PUT_LINE('更新后时间:'||
obj.getUpdateTime());
UPDATE pm.online_media p SET p.product_audio = obj
WHERE p.product_id = 3106;
COMMIT;
END;
/
25-20:
DECLARE
obj ORDSYS.ORDAudio;
res INTEGER;
ctx RAW(64) :=NULL;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3106 FOR UPDATE;
res := obj.trimSource(ctx,0);
UPDATE pm.online_media p SET p.product_audio = obj
WHERE p.product_id = 3106;
COMMIT;
EXCEPTION
WHEN ORDSYS.ORDSourceExceptions.METHOD_NOT_SUPPORTED THEN
DBMS_OUTPUT.PUT_LINE('出现METHOD_NOT_SUPPORTED例外');
WHEN ORDSYS.ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION THEN
DBMS_OUTPUT.PUT_LINE('出现INCOMPLETE_SOURCE_INFORMATION例外');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('出现例外');
END;
/
25-21:
DECLARE
obj ORDSYS.ORDAudio;
n INTEGER := 6;
ctx RAW(64) :=NULL;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 3117 FOR UPDATE;
obj.writeToSource(ctx,1,n,UTL_RAW.CAST_TO_RAW('helloP'));
UPDATE pm.online_media p SET p.product_audio = obj
WHERE p.product_id = 3117;
DBMS_OUTPUT.PUT_LINE('长度:' ||
TO_CHAR(obj.getContentLength(ctx)));
ROLLBACK;
END;
/
25-22:
BEGIN
INSERT INTO pm.online_media (product_id, product_audio)
VALUES (1729, ORDSYS.ORDAudio.init());
COMMIT;
END;
/
25-23:
BEGIN
UPDATE pm.online_media SET product_audio=
ORDSYS.ORDAudio.init('FILE', 'AUDIO_DIR','DANGJIANRUMENG.MP3')
WHERE product_id=1729;
COMMIT;
END;
/
25-24:
DECLARE
obj ORDSYS.ORDAudio;
ctx RAW(64) :=NULL;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 1729;
IF ( obj.checkProperties(ctx) = TRUE ) THEN
DBMS_OUTPUT.PUT_LINE('true');
ELSE
DBMS_OUTPUT.PUT_LINE('false');
END IF;
END;
/
25-25:
DECLARE
obj ORDSYS.ORDAudio;
tempLob CLOB;
ctx RAW(64) :=NULL;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 1729;
DBMS_LOB.CREATETEMPORARY(tempLob, FALSE, DBMS_LOB.CALL);
obj.getAllAttributes(ctx,tempLob);
DBMS_OUTPUT.PUT_LINE(DBMS_LOB.substr(tempLob,
DBMS_LOB.getLength(tempLob),1));
END;
/
25-26:
DECLARE
obj ORDSYS.ORDAudio;
res VARCHAR2(4000);
ctx RAW(64) :=NULL;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 1729;
res := obj.getAttribute(ctx,'sample_size');
DBMS_OUTPUT.PUT_LINE('采样尺寸:'||res);
EXCEPTION
WHEN ORDSYS.ORDAudioExceptions.AUDIO_PLUGIN_EXCEPTION THEN
DBMS_OUTPUT.PUT_LINE('AUDIO PLUGIN EXCEPTION caught');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('EXCEPTION caught');
END;
/
25-27:
DECLARE
obj ORDSYS.ORDAudio;
BEGIN
SELECT p.product_audio INTO obj FROM pm.online_media p
WHERE p.product_id = 1729;
DBMS_OUTPUT.PUT_LINE('演唱时间:'||obj.getAudioDuration());
DBMS_OUTPUT.PUT_LINE('数据格式:'|| obj.getFormat());
DBMS_OUTPUT.P
没有合适的资源?快使用搜索试试~ 我知道了~
Oracle 11g SQL和PLSQL源代码
共31个文件
txt:31个
需积分: 3 16 下载量 70 浏览量
2008-09-29
19:14:17
上传
评论
收藏 38KB RAR 举报
温馨提示
本代码是万水技术丛书《Oracle 11g SQL和PL/SQL从入门到精通》中的源代码,方便大家学习之用。
资源推荐
资源详情
资源评论
收起资源包目录
Oracle 11g SQL和PLSQL源代码.rar (31个子文件)
Oracle 11g SQL和PLSQL源代码
demo35.txt 862B
demo21.txt 6KB
demo19.txt 4KB
demo20.txt 7KB
demo36.txt 829B
demo22.txt 10KB
demo24.txt 2KB
demo12.txt 3KB
demo23.txt 4KB
demo17.txt 4KB
demo26.txt 11KB
demo41.txt 4KB
demo32.txt 787B
demo33.txt 869B
demo18.txt 6KB
demo28.txt 1KB
demo40.txt 387B
demo29.txt 2KB
demo31.txt 2KB
demo27.txt 4KB
demo37.txt 2KB
demo39.txt 1KB
demo14.txt 17KB
demo38.txt 353B
demo34.txt 780B
demo16.txt 3KB
demo13.txt 3KB
demo25.txt 29KB
demo30.txt 1KB
demo15.txt 6KB
demo11.txt 6KB
共 31 条
- 1
资源评论
shihuaqi
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功