当前位置: 首页 > 知识库问答 >
问题:

在oracle中创建过程

吴涵育
2023-03-14

为什么它不起作用?我在甲骨文中运行这个。我想创建这样的装饰:

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

这是错误:

PLS-00103:在预期以下情况之一时遇到符号“DECLARE”:begin函数杂注过程子类型当前游标删除存在于外部语言之前符号“begin”被替换为“DECLATE”以继续。7/5 PLS-00103:在预期以下情况之一时遇到符号“文件结束”:(开始情况声明结束异常退出,如果循环mod null pragma引发返回选择更新

共有2个答案

步德宇
2023-03-14

尝试为

    CREATE OR REPLACE PROCEDURE me (x IN NUMBER)
IS
    num1     NUMBER;
BEGIN
    num1 := 1;    
    insert into a (year) values(7);     
END;
/
施学
2023-03-14

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; 

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

 类似资料:
  • 我试着创建这个过程(作为一个系统),它需要两个参数,用户名和密码,并根据它们创建一个用户: 问题是,当我尝试执行此过程(作为一个系统)时,我遇到了以下错误: 错误报告:ORA-01031:权限不足ORA-06512:在第9行的“系统.过程\u创建\u客户端”处ORA-06512:在第1 01031行。00000-“权限不足”*原因:试图在没有适当权限的情况下更改当前用户名或密码。如果试图在没有必要

  • 问题内容: 我想创建一个在不从现有的表中选择,而是具有插入到它的数据。当前,我正在创建一个表,然后在完成后将其删除。有没有一种方法可以有效地创建相同的对象?这是我当前的代码: 问题答案: 您可以通过从对偶中选择日期值并将它们结合在一起来创建公用表表达式(CTE,子查询分解等)。 与CTE无关,但是您可以通过使用日期文字来减少输入:

  • 如何使用rdsadmin中的select在Oracle中创建过程? 环境:Oracle数据库11g 11.2.0.4.0 AWS RDS SQL查询

  • 问题内容: 我正在使用哪个有数据库 我有一个叫表的窗口 字段是和。 当前,数据类型为和是 我要输入带 ,并用 。 当我输入在ADempiere并保存数据,究竟会展示的是与 (不带前导零) 我已经尝试过放置函数,但是仍然失败。 如何在Adempiere界面和数据库中都输入01? 任何建议将不胜感激:) 问题答案: 一个 NUMBER 不能有前导零,一个 字符串 即可。 如果要在数据库表中 存储 前导

  • 请帮助我解决以下问题 我需要创建一个名为的触发器,每当“contact”表更新时就会触发该触发器。在更新联系人详细信息之后,这个触发器将把org_name和action插入到表中。受影响日志表中的操作名称为。 id整数org_name varchar2(255)street_address1 varchar2(255)street_address2 varchar2(255)城市varchar2(

  • 主要内容:Oracle CREATE TABLE语句简介,Oracle CREATE TABLE示例在本教程中,您将学习如何使用Oracle 语句在Oracle数据库中创建一个新表。 Oracle CREATE TABLE语句简介 要在Oracle数据库中创建一个新表,可以使用语句。下面说明了语句的基本语法: 在上面这个语法中, 首先,在子句中,指定新表所属的表名和模式名称。 其次,在圆括号内列出所有列。 如果一个表有多个列,则需要用逗号分隔每个列的定义。列定义包括列名,后跟它的数据类型,例如,