现在苦苦挣扎了一个多小时......为什么不编译呢?
身体编译好:
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) 为什么它不起作用?我在甲骨文中运行这个。我想创建这样的程序:
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合并管道清除
我收到以下错误:
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) 在我尝试使用该行编辑过程时
CREATE OR DROP PROCEDURE
Run Code Online (Sandbox Code Playgroud)
我创建了两个同名的程序,如何删除它们?
每当我尝试删除它时收到的错误是
对例程 BT_CU_ODOMETER 的引用没有签名,但该例程在其模式中并不唯一。SQL状态=42725
我正在使用 DB2
我需要知道oracle游标的记录数(过程的输出参数).
游标在Oracle Package的主体上声明,是一个类型IS REF CURSOR;
在程序2(相同的包)中,我调用过程1并获取输出光标.
我需要循环此输出光标并计算记录数量.我已经测试了很多例子,但是,任何例子都有效.
谢谢,
我正在尝试编写一个使用字典值来存储一些数据的脚本。然后,我将相同的字典值用于进一步处理的过程。它看起来像这样:
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
如果我想要第一个输出,那么我应该怎么做。
谢谢
各位编码员..
我只是一个新学习者,尝试在特定的设计环境中练习一些编程范例。最近我在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 上没有找到相关问题。我希望我能在这里找到。
我正在编写一个 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存在),其他控件执行完全相同的操作以及所有其他指令。我也尝试过重命名该过程,但无济于事。
假设我的系统中有一个简单的过程文件:
C:\git\project\helloworld.p
在这个过程文件中,代码需要知道它在运行时在我的系统上的位置。所以在我的电脑中,在这种情况下它将是:
C:\git\project\helloworld.p
在我朋友的电脑上可能是:
D:\codingprojects\project\helloworld.p
有什么办法可以在运行时解析过程文件位置吗?
我是一名电气工程师,正试图在互联网上学习计划.我想采取罪恶x的方格,但我失败了.我想我需要一个使(数字,数字) - (数字,数字)的功能.所以它应该取lambda x和lambda f并计算square(fx).但是我被卡住了,我不能写这段代码.谁能写这个?
所以,我试图从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) 使用以下示例,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) pl/sql过程传递的最大参数数量.这是我最后一次面试的问题.我搜索了很多网站,但都是不同的答案.
procedure ×13
oracle ×5
sql ×3
declaration ×2
delphi ×2
package ×2
plsql ×2
ada ×1
assembly ×1
cursor ×1
db2 ×1
delphi-xe2 ×1
dictionary ×1
dll ×1
file ×1
irvine32 ×1
openedge ×1
oracle-apex ×1
oracle11g ×1
procedural ×1
progress-4gl ×1
racket ×1
scheme ×1
subroutine ×1
tcl ×1
windows ×1
x86 ×1