标签: procedure

包和程序编译

现在苦苦挣扎了一个多小时......为什么不编译呢?

身体编译好:

create or replace package body "PKG_CUSTOMER" is

PROCEDURE Create_Customer
(  pr_customer_id  customer.Customer_id%type,
      pr_country customer.country%type,
      pr_first_name  customer.first_name%type,
      pr_last_name  customer.last_name%type, 
      pr_birth_date   customer.birth_date%type,
      pr_customer_type customer.customer_type%type,
      pr_address customer.address%type)

   IS
   BEGIN
      INSERT INTO customer (Customer_ID,Country,First_Name,Last_Name,Birth_Date,Customer_Type,Address)
         VALUES(pr_customer_id, pr_country, pr_first_name, pr_last_name, pr_birth_date, pr_customer_type, pr_address);
   END Create_Customer;


   PROCEDURE Delete_Customer(pr_customer_id   customer.customer_id%type) IS
   BEGIN
   DELETE FROM order_line WHERE fk1_order_id IN (SELECT order_id FROM placed_order WHERE fk1_customer_id = pr_customer_id);
   DELETE FROM placed_order WHERE fk1_customer_id = pr_customer_id;
   DELETE FROM customer WHERE customer_id = pr_customer_id;
   END Delete_Customer;


end "PKG_CUSTOMER";?
Run Code Online (Sandbox Code Playgroud)

但规范不会编译:

create …
Run Code Online (Sandbox Code Playgroud)

sql oracle procedure package oracle-apex

0
推荐指数
1
解决办法
729
查看次数

在oracle中创建过程

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

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

这是错误:

PLS-00103:在期望以下其中一项时遇到符号“DECLARE”:开始函数杂注过程子类型类型当前光标删除存在先前的外部语言符号“开始”已替换为“DECLARE”以继续。7/5 PLS-00103:当期望出现以下其中一项时遇到符号“文件结束”:( begin case声明结束异常 exit for goto ifloop mod null pragma raise return select update while with << continue close current delete获取锁插入打开回滚保存点设置sql执行提交forall合并管道清除

sql oracle procedure oracle11g

0
推荐指数
1
解决办法
4581
查看次数

oracle 程序错误 PLS-00103 遇到符号“END”

我收到以下错误:

58/6 PLS-00103:在预期以下情况之一时遇到符号“END”:

begin 函数 pragma procedure subtype type
当前游标删除
之前存在

任何人都知道我缺少什么?

CREATE OR REPLACE PROCEDURE VALIDATE_BI_JOB_COMPLETE_PROC AS

msg           SYS.XMLTYPE;
msg_props     DBMS_AQ.MESSAGE_PROPERTIES_T;
msg_id        RAW(16);
queue_options DBMS_AQ.ENQUEUE_OPTIONS_T;
rec_count     INTEGER;
/******************************************************************************
   NAME:         VALIDATE_BI_JOB_COMPLETE_PROC
 *******************************************************************************

BEGIN

INSERT INTO JOB_LOG
  (JOB_NAME, JOB_SEQUENCE, RUN_DATE, LINE_SEQ_NO, LOG_TXT)
VALUES
  ($$PLSQL_UNIT, 1, SYSDATE, 1, 'Job Started at ' || to_char(sysdate, 'MM/DD/YYYY HH:MI:SS'));
COMMIT;

rec_count := 0;

   SELECT COUNT(*) INTO rec_count
       FROM  SCHEDULED_JOBS
       WHERE JOB_NAME IN ('bi_get_transactional_data', 'bi_get_reference_data') AND
             CURRENTLY_PROCESSING_FLG = 'Y';

    IF rec_count > 0 THEN
      BEGIN
        DECLARE …
Run Code Online (Sandbox Code Playgroud)

oracle plsql procedure

0
推荐指数
1
解决办法
6万
查看次数

删除 DB2 上的非唯一过程

在我尝试使用该行编辑过程时

CREATE OR DROP PROCEDURE
Run Code Online (Sandbox Code Playgroud)

我创建了两个同名的程序,如何删除它们?

每当我尝试删除它时收到的错误是

对例程 BT_CU_ODOMETER 的引用没有签名,但该例程在其模式中并不唯一。SQL状态=42725

我正在使用 DB2

sql db2 procedure

0
推荐指数
1
解决办法
6986
查看次数

计算oracle游标中的记录数

我需要知道oracle游标的记录数(过程的输出参数).

游标在Oracle Package的主体上声明,是一个类型IS REF CURSOR;

在程序2(相同的包)中,我调用过程1并获取输出光标.

我需要循环此输出光标并计算记录数量.我已经测试了很多例子,但是,任何例子都有效.

谢谢,

oracle procedure cursor package

0
推荐指数
1
解决办法
6533
查看次数

在 TCL 中来回传递字典值

我正在尝试编写一个使用字典值来存储一些数据的脚本。然后,我将相同的字典值用于进一步处理的过程。它看起来像这样:

proc testProc {a} {
   some statements ...
   dict incr a key2 1
}

set dummy [dict create]
dict incr dummy key1 1
testProc $dummy 

puts "[dict get $dummy]"
Run Code Online (Sandbox Code Playgroud)

我期望得到的输出为:

键1 1 键2 1

相反,我得到了:

键1 1

如果我想要第一个输出,那么我应该怎么做。

谢谢

dictionary procedure tcl

0
推荐指数
1
解决办法
354
查看次数

为什么 Ada 语言使用分号“;”来分隔子程序声明中的参数?

各位编码员..

我只是一个新学习者,尝试在特定的设计环境中练习一些编程范例。最近我在Ada语言过程编程中学到了很多新的小东西,并且有很好的学习经验。但是,我自己找不到答案,为什么 Ada;在子程序声明中使用分号来分隔参数。

-- subprogram declaration - - - - - - - - -

procedure Initialize_Some_Things
   ( Result : out Integer
   ; Asset : in Integer
   ; Option: in Integer ) is
begin
   null;
end Initialize_Some_Things;

-- invoking subprogram - - - - - - - - -

Instance : Integer := 0;
Initialize_Some_Things (Instance, 9, 5);
Run Code Online (Sandbox Code Playgroud)

对于来自任何其他编程语言的人来说,在子程序声明中使用分号来分隔参数显然很奇怪。更奇怪的是,当子程序的调用需要使用逗号,而不是;声明中的分号时。我搜索了相关问题一段时间,但在谷歌上找不到任何结果。无论如何,是否可以提交请求以对语言的标准规范进行这种微妙的更改?

我在 Google 上没有找到相关问题。我希望我能在这里找到。

procedural procedural-programming procedure declaration ada

0
推荐指数
1
解决办法
142
查看次数

Delphi 程序:第一条指令无法编译

我正在编写一个 Delphi 应用程序,其中有一个清除表单并将其重置为默认状态的过程。

procedure ResetForm ();
begin
   edtG1.Text := ''; // Error occurs on this line, no matter what the instruction is.
   edtG1.Enabled := True;
   btnG1Check.Enabled := True;
   .
   .
   .
   .
end;
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切 - 无论如何,程序中的第一行代码都无法编译。我也看不出程序声明有任何问题。

有人可以帮忙吗?我的谢谢。

我试图清除表单中的所有字段,启用已禁用的内容等。将其重置为默认状态,因为它在程序开始时启动。我在第一行尝试了不同的代码指令(是的,edtG1存在),其他控件执行完全相同的操作以及所有其他指令。我也尝试过重命名该过程,但无济于事。

delphi procedure declaration

0
推荐指数
1
解决办法
209
查看次数

获取运行时调用的 Progress 过程 .p 文件位置

假设我的系统中有一个简单的过程文件:

C:\git\project\helloworld.p

在这个过程文件中,代码需要知道它在运行时在我的系统上的位置。所以在我的电脑中,在这种情况下它将是:

C:\git\project\helloworld.p

在我朋友的电脑上可能是:

D:\codingprojects\project\helloworld.p

有什么办法可以在运行时解析过程文件位置吗?

procedure file progress-4gl openedge

0
推荐指数
1
解决办法
72
查看次数

方案中的程序

我是一名电气工程师,正试图在互联网上学习计划.我想采取罪恶x的方格,但我失败了.我想我需要一个使(数字,数字) - (数字,数字)的功能.所以它应该取lambda x和lambda f并计算square(fx).但是我被卡住了,我不能写这段代码.谁能写这个?

scheme procedure racket

-2
推荐指数
1
解决办法
98
查看次数

在Delphi XE2中从dll调用过程

所以,我试图从Delphi XE2中的DLL调用一个过程.但程序不会分配.

我试过在互联网上找到几个例子.正在按预期加载DLL.导出正确写入.

一切似乎都很好,但仍然没有成功.

怎么了?

我的代码如下

type
  TStarter = procedure; stdcall;

...

fTheHookStart: TStarter;

...

procedure TForm1.LoadHookDLL;
begin
  LogLn('Keyboard Hook: Loading...');
  // Load the library
  DLLHandle := LoadLibrary('thehookdll.DLL');

  // If succesful ...
  if Handle <> 0 then
  begin
    LogLn('Keyboard Hook: DLL load OK!');
    LogLn('Keyboard Hook: assigning procedure ...');

    fTheHookStart := TStarter(GetProcAddress(DLLHandle, 'StartTheHook'));
    if @fTheHookStart <> nil then
    begin
      LogLn('Keyboard Hook: procedure assignment OK!');
      LogLn('Keyboard Hook: Starting...');
      fTheHookStart;
    end
    else
    begin
      LogLn('Keyboard Hook: procedure assignment FAIL!');
      FreeLibrary(DLLHandle);
      if Handle <> 0 …
Run Code Online (Sandbox Code Playgroud)

windows delphi dll procedure delphi-xe2

-2
推荐指数
1
解决办法
347
查看次数

ESP和EIP寄存器有什么区别

使用以下示例,ESP和EIP寄存器之间有什么区别?解释代码在做什么.

main PROC 
    0000 0020 call MySub 
    0000 0025 mov eax, ebx 
        .
        .
    main ENDP

MySub PROC 
    0000 0040 mov eax, edx 
        .
        .
    ret 
MySub ENDP 
Run Code Online (Sandbox Code Playgroud)

0000 0025是紧跟在CALL指令之后的指令的偏移量

0000 0040是MySub中第一条指令的偏移量

CALL指令将0000 0025推入堆栈,并将0000 0040加载到EIP中

|-------------|              |----------|
| 0000 0025   |<--ESP        | 0000 0040| EIP
|-------------|              |----------|
|             |
|-------------|
|             |
|-------------|
Run Code Online (Sandbox Code Playgroud)

RET指令从堆栈弹出0000 0025到EIP(RET执行前的堆栈显示)

|-------------|              |----------|
| 0000 0025   |<--ESP        | 0000 0025| EIP
|-------------|              |----------|
|             |
|-------------|
|             |
|-------------|
Run Code Online (Sandbox Code Playgroud)

x86 assembly procedure subroutine irvine32

-2
推荐指数
1
解决办法
1万
查看次数

在pl sql oracle中的特定过程中使用了最大数量的参数

pl/sql过程传递的最大参数数量.这是我最后一次面试的问题.我搜索了很多网站,但都是不同的答案.

oracle plsql procedure

-3
推荐指数
1
解决办法
370
查看次数