oracle declare语法插入clob字段、及存储过程


存储过程一般来说是用不到的,但是有时必须用。
例如 要操作clob字段,直接操作会报错,超过string的长度了。
clob字段直接执行是不行的,因为超过4000个字符会报错。

存储过程操作clob

因此采用存储过程来实现。
代码例子:

DECLARE
data1 clob;
data2 clob;

BEGIN
data := 'json串';
data2 := '';

INSERT INTO T_TABLE ( id, DATA, DATA2)
   VALUES
   	( '10', data, data2);
   COMMIT;

END;
/

这样就可以实现操作clob数据。

因为在操作中出了些问题,所以需要连接下存储过程。

dbeaver操作存储过程

注:dbeaver编辑存储过程和纯sql操作存储过程有点不一样的。

mysql创建存储过程

mysql语法:

DELIMITER //
CREATE PROCEDURE procedure_name (IN parameter_name datatype, OUT parameter_name datatype)
BEGIN
-- 代码块
END //
DELIMITER ;

oracle创建存储过程

oracle语法:

CREATE OR REPLACE PROCEDURE procedure_name (parameter_name IN datatype, parameter_name OUT datatype)
AS
BEGIN
-- 代码块
END;

最简单的存储过程

定义变量

mysql和oracle的区别

sql操作存储过程

报错

报错 PLS-00103: 出现符号 "END"在需要下列之一时:

( begin case
declare exit for goto if loop mod null pragma raise return
select update while with
<<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
Compile error at line 14, column 1

这个报错一般是少sql。
解决方案,存储过程必须要有实际有效的语句(在begin和end中间)。

最简单的语句。

NULL;  或者 null; 都可以。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值