在Oracle中创建过程

create procedure in oracle(在Oracle中创建过程)
本文介绍了在Oracle中创建过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么它不起作用? 我在甲骨文里运行这个。 我想创建一个这样的过程:

CREATE OR REPLACE PROCEDURE ME( X in NUMBER )IS  
declare 
num1 number;
BEGIN  
num1:=1;
insert into a (year) values(7);    
END; 

这是错误:

LS-00103:在需要以下内容之一时遇到符号"DECLARE": Begin函数杂注过程子类型类型 当前游标删除 存在先前的外部语言 "声明"改为"开始"继续。 7/5偏最小二乘法-00103:遇到符号"文件结束",但预期出现以下情况之一: (BEGIN CASE声明END EXCEPTION EXIT for Goto IF循环模式 空编译指示RAISE RETURN SELECT UPDATE WITH <;<;继续关闭当前删除获取锁 INSERT OPEN ROLLBACK SAVEPOINT SET SQL EXECUTE COMMIT FOR ALL 合并管道清除

推荐答案

DECLARE仅用于匿名PL/SQL块和嵌套的PL/SQL块。当您声明一个过程时,您不会使用它。假设表A存在一个列YEAR,类似于

CREATE OR REPLACE PROCEDURE ME( X in NUMBER )
IS  
  num1 number;
BEGIN  
  num1:=1;
  insert into a (year) values(7);    
END; 

在语法上是有效的。当然,代码有各种各样的问题……您接受一个不使用的参数,声明一个不使用的局部变量,过程的名称与过程的作用无关,等等。

这篇关于在Oracle中创建过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)