DECLARE v_CLOBlocator CLOB; v_BLOBlocator BLOB; BEGIN -- Initializes the clob_col to the specified string, and returns the -- locator into v_LOBlocator. INSERT INTO lobdemo (key, clob_col) VALUES (20, 'abcdefghijklmnopqrstuvwxyz') RETURNING clob_col INTO v_CLOBlocator; -- Modifies blob_col for the same row. UPDATE lobdemo SET blob_col = HEXTORAW('00FF00FF00FF') WHERE key = 20; -- Retrieves the locator for the newly updated value, not the value -- itself. SELECT blob_col INTO v_BLOBlocator FROM lobdemo WHERE key = 20; END;
INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col) VALUES (-1, EMPTY_CLOB(), EMPTY_BLOB(), NULL);INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col) VALUES (1, 'abcdefghijklmnopqrstuvwxyz', HEXTORAW('000102030405060708090A0B0C0D0E0F'), NULL); INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col) VALUES (2, 'A Quick Brown Fox Jumps Over the Lazy Dog', HEXTORAW('FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0'), NULL); COMMIT;
对阿,我就是先插入一个empty_clob(), 但是我想直接用sql语句 修改clob列,而不是用 DECLARE lobloc CLOB; BEGIN --Initialize buffer with data to be inserted SELECT col_clob INTO lobloc -- get LOB handle FROM table_clob; dbms_lob.write(...); COMMIT; END; 这样的形式。
v_CLOBlocator CLOB;
v_BLOBlocator BLOB;
BEGIN
-- Initializes the clob_col to the specified string, and returns the
-- locator into v_LOBlocator.
INSERT INTO lobdemo (key, clob_col)
VALUES (20, 'abcdefghijklmnopqrstuvwxyz')
RETURNING clob_col INTO v_CLOBlocator; -- Modifies blob_col for the same row.
UPDATE lobdemo
SET blob_col = HEXTORAW('00FF00FF00FF')
WHERE key = 20; -- Retrieves the locator for the newly updated value, not the value
-- itself.
SELECT blob_col
INTO v_BLOBlocator
FROM lobdemo
WHERE key = 20;
END;
VALUES (-1, EMPTY_CLOB(), EMPTY_BLOB(), NULL);INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)
VALUES (1, 'abcdefghijklmnopqrstuvwxyz',
HEXTORAW('000102030405060708090A0B0C0D0E0F'),
NULL);
INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)
VALUES (2, 'A Quick Brown Fox Jumps Over the Lazy Dog',
HEXTORAW('FFFEFDFCFBFAF9F8F7F6F5F4F3F2F1F0'),
NULL);
COMMIT;
但是我想直接用sql语句 修改clob列,而不是用
DECLARE
lobloc CLOB;
BEGIN
--Initialize buffer with data to be inserted
SELECT col_clob INTO lobloc -- get LOB handle
FROM table_clob;
dbms_lob.write(...);
COMMIT;
END;
这样的形式。