barriers / 阅读 / 详情

编程中的function和PROCEDURE(真正高手的进,不要复制的!)

2023-07-23 08:03:28
共3条回复
慧慧

function是函数,有返回值,它的结果只是一个值,保存在这个函数中,返回到主程序。

procedure是过程,说白了它就是一段程序,用来执行一些操作,如果它不带参数,也可放在主程序或其它函数和过程中。这是我自己理解的,书上的详细介绍:

8.1 过程

1.过程的定义

procedure 过程名(形式参数:参数说明);{也可以不带参数}

var

begin

...

end;

2.过程的调用

过程名(实在参数表);

例1:求n个自然数的最大公约数;

program gcd1;

const maxn=100;

var n,i,gcd:integer;

a:array[1..maxn] of integer;

procedure enter;

begin

write("n=(<100)");readln(n);

for i:=1 to n do

repeat

write("a[",i,"]=");readln(a[i]);

until a[i]>0;

end;

procedure find_gcd(x,y:integer);{定义过程}

var r:integer;

begin

r:=x mod y;

while r<>0 do

begin x:=y;y:=r;r:=x mod y; end

gcd:=y;

end;

procedure print;

begin

writeln("GCD=" ,gcd);

end;

begin

enter;

gcd:=a[1];

for i:=2 to n do

find_gcd(gcd,a[i]);

print;

end.

8.2 函数

1.函数的定义

function 函数名(形参表):函数类型; { ————函数首部}

var {————局部变量说明部分}

begin {————函数体}

... {————函数语句}

...

函数名:=表达式

end;

2.函数的调用:

函数在语法上相当于一个表达式,所以,调用时,函数不能独立成为一个语句;它可以出现在任何表达式可以出现的地方。

例如赋值语句的右边:

X:=函数名(实在参数表); {————X的类型与函数类型必须一致}

又,如果函数类型是boolean,则还可以出现在条件语句中,充当条件表达式:

if 函数名(实在参数表) then ……

例3:编一程序,求从10名同学中选出3名代表,有几种不同的选法。

(公式:C(m,n)=m!/n!*(m-n)!从m中选n)

program zohe1;

var m,n:integer;

c:longint;

function factor(x:integer):longint;{定义}

var i:integer;

p:longint;

begin

p:=1;

for i:=1 to x do p:=p*i;

factor:=p;{这个语句必须}

end;

begin

write("m,n=");readln(m,n);

c:=factor(m) div (factor(n)*factor(m-n));{调用}

writeln("c(",m,",",n,")=",c);

end.

8.3全局变量和局部变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。全局变量作用域是整个程序;局部变量作用域是定义该变量的子程序。当全局变量与局部变量同名时:在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

例4:全局变量和局部变量。

program local_global;

var i,k:integer;

procedure sub1;

var i,j:integer;

begin

i:=17;

writeln("i in sub=",i);

writeln("k in sub=",k);

end;

begin

i:=2;k:=9;

writeln("i in main=",i);

writeln("k in sub=",k);

sub1;

writeln("i in main=",i);

writeln("j in main=",j);

readln;

end.

上述程序运行时将出现Unknown Identfier;因为变量j在主程序中没定义。

当删除本语句时。运行结果如下:

i in main=2

k in main=9

i in sub=17

k in sub=9

i in main=2

8. 4 值参和变量参数

值形参——传值:调用时可用表达式代替形参,不该变实在参数的值。

变量形参——传地址:调用时必须用变量代替行参变量,改变实在参数的值。

例4:请看下列程序的运行结果。

program li3_10;

var a,b,c:integer;

procedure sub(x,y:integer;var z:integer);

begin

x:=x+1;y:=y+1;z:=x+y;

writeln("sub:x=",x:2,"y=",y:2,"z=",z:2);

end;

begin

a:=1;b:=4;c:=9;

writeln("main:a=",a:2,"b=",b:2,"c=",c);

sub(a,b,c);

writeln("main:a=",a:2,"b=",b:2,"c=",c);

sub(c+5,b*b,a);

writeln("main:a=",a:2,"b=",b:2,"c=",c);

readln;

end.

main:a=1 b=4 c=9

sub:x=2 y=5 z=7

main:a=1 b=4 c=7

sub:x=13 y=17 z=30

main:a=30 b=4 c=7

coco

function定义的是函数,procedure定义的是过程,很简单吧

我不懂运营

你是爷!

相关推荐

procedure是什么意思

procedure英[pru0259u02c8si:du0292u0259(r)]美[pru0259u02c8sidu0292u025a]n.程序,手续;工序,过程,步骤;诉讼程序,(议会的)议事程序;〈罕〉进行程序;过程;手续;步骤复数:procedures派生词:proceduralprocedurally双语例句1.BritishParliamentaryprocedureisperplexingatthebestoftimes.即使在最好情况下,英国议会的程序也很费解。2.DougstoodstillwhileIranthroughthehandoverprocedure.我在练习移交手续时,道格站在那里一动也不动。3.Socialsecuritylawandprocedureremainajungleofcomplexrules.有关社会保障的法律和程序仍旧是个充满错综复杂的规则的危险领域。4.MrSmithwasobstructiveandrefusedtofollowcorrectprocedure.史密斯先生故意刁难,就是不肯照章办事。5.Thereisasmallriskofbraindamagefromtheprocedure.该手术有导致脑损伤的轻微风险。
2023-07-23 02:38:141

procedure是什么意思

procedure英[pru0259u02c8si:du0292u0259(r)]美[pru0259u02c8sidu0292u025a]n. 程序,手续;工序,过程,步骤;诉讼程序,(议会的)议事程序;〈罕...名词复数:procedures[例句]The entire procedure is usually completed within one to three hours.整个过程通常在一至三个小时内完成。
2023-07-23 02:38:281

procedure是什么意思

procedure译为程序procedure[英][pru0259u02c8si:du0292u0259(r)][美][pru0259u02c8sidu0292u025a]n.程序,手续; 工序,过程,步骤; 诉讼程序,(议会的)议事程序; 〈罕〉进行; 1.It"s just standard operating procedure. 这只是标准的操作程序。2.The procedure has plenty to commend it. 这个过程中有很多值得推崇的地方。3.The procedure has scarcely changed in 60 years. 这套手续几乎60年来雷打不动。4.This established a basic procedure. 这就奠定了一个基础的步骤。5.Personality testing has grown into a major industry and is standard procedure in leadership and management courses, as part of job-interview processes, and, increasingly, in career counselling. 个性测试现已发展成为一大产业,是领导力和管理课程的标准程序,它不仅是求职面试流程的组成部分,而且日益成为职业辅导不可或缺的内容之一=========================================================您好!您提出的问题,我的答案已经给出,请您浏览一遍!有什么不懂的地方欢迎回复我!希望我的答案对您有所帮助!如果满意请及时点击【采纳为满意答案】按钮若是客户端的朋友在右上角评价点【满意】您的采纳!是我答题的动力也同时给您带来知识和财富值O(∩_∩)O谢谢您!!!==========================================================
2023-07-23 02:38:361

procedures是什么意思

procedures[英][pru0259"si:du0292u0259z][美][pru0259"si:du0292u0259z]n.程序; 手续; 步骤; 常规; 程序( procedure的名词复数 ); 手续; [计算机]过程; (为解决一个特殊问题而专门设计的)文字程序; 例句:1.As organizations grow, they typically try to align people though policies andprocedures. 随着公司增长,人们通常会试图通过政策和程序让公司的成员保持活力。2.In 2006, it established a set of agreed upon procedures to allow for auditing. 2006年,委员会一致通过了一系列审计流程。
2023-07-23 02:38:451

procedure怎样巧记?

这样调剂的东西很难说,我们通过这些东西没得更多的办法。
2023-07-23 02:39:226

PROCEDURE是什么意思?程序是那个单词?跟这个差不多拼法的

procedure[prE5si:dVE]n.程序, 手续procedure[prE5si:dVE(r)]n.程序legal procedure诉讼程序工序;过程procedure in production生产过程The new work procedure is a great improvement on / over the old one.新工序比起老工序来是一个巨大的改善。还有一个是programprogram[5prEu^rAm]n.节目, 程序, 纲要, 计划vt.规划, 拟...计划, 安排...入节目vi.安排节目, 编程序(电脑)程序,(电视)节目program[5prEJ^rAm; (?@) 5prEJ^rEm]n.节目表;程序表A program for a play contains a list of the actors" names and other information about the play.一出剧的节目单包括演员表和与该剧有关的其他情况。节目I watched a program about farming.我看了一个有关农业的节目。What is the program for today?今天你有些什么活动?计划a business program商业计划In this program the teenagers and the adults make the rules together."在这项计划中,少年和大人们共同制定规章制度。"〈计〉程序programvt.-mm-; (AmE.) -m-按程序工作安排节目表;拟定计划〈计〉编制程序 (亦作: programme)Please program the computer to do the job instead of manual operation."请给电脑编制一个程序,以便进行这项工作代替手工操作。"
2023-07-23 02:39:395

oracle中function和procedure是什么意思

楼主您好function是自定义的函数procedure是自定义的存储过程
2023-07-23 02:39:552

pascal中procedure啥意思

procedure是过程的意思,是程序的一个部分,可以说是相当于子程序。它可在主程序中调用,也可自身调用,也就是可以用于递归的意思。相比函数(function)而言,它没有返回值。然后这个可以用一个通俗易懂的方式进行解释,过程就是你让电脑去干一件事,干完了就完了,如果是函数,那么就还会返回这件事做的怎么样的结果。求采纳,谢谢。
2023-07-23 02:40:021

Process和procedure词义 ,用法的区别。

process名词,过程,进程.工序.动词:加工,审核.列队前进.procedure名词:程序,手术.
2023-07-23 02:40:122

过程的英文

procedure:nounthe order or method of doing something process:nouna method or way of manufacturing things;a cause of action undertaken
2023-07-23 02:40:203

数据库中的procedure和view有什么区别请问?

Procedure就像是执行子查询表格,接受参数,你可以用where或者order by这样的参数经行进一步的定义Procedure被定义出来之后,非常的方便,下次如果需要调用相同的命令,就直接把procedure名字打上去就能显示结果,通常为内部人员使用。View本身就是显示一个表格,View可以显示出表格,但是VIEW本身并没有包括任何数据,view也不接受参数,所以其实view就是一个虚拟的表格,而不是实际的,所以在需要参数的时候,需要提前在建立view的时候定义好。VIEW一般是给外部非专业IT人员使用,因为你可以随意修改名称并限定输出的内容。
2023-07-23 02:40:341

procedure 和function 在pascal里有什么区别

procedure就是纯运行的过程(可以不命名),function则是函数,是有值的,有时可以直接输出procedure多用于深搜,function多用于递归,比较(以下都是正确打法):①procedure;②proceduredfs(x:longint);//(此处dfs只能调用,不能以ans:=dfs(x)或writeln(dfs(x))的形式出现)③functiona:(x:boolean):longint;//(此处a被赋为longint,可以直接输出或作为longint使用,如ans:=a(x),当然,每次都会重新算一遍,boolean则是变量x"的定义,如果a被赋为boolean,是不可以输出的,但同样能作为boolean使用)
2023-07-23 02:40:422

plsql中procedure是什么意思

过程
2023-07-23 02:40:512

oracle 怎么查看procedure

PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。点击要调试的存储过程,右键选择TEST如果需要查看变量,当然调试都需要。在右键菜单中选择Adddebuginformation.startdebugger(F9)开始我们的测试,Run(Ctrl+R)随时在varibleList中输入我们想查看的变量其它:Stepinto(Ctrl+N):单步调试,进入下一步Stepover(Ctrl+O):结束该语句Stepout(Ctrl+T):跳出该过程Runtonextexception:进入下一个断点BreakpointToggleBreakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘
2023-07-23 02:41:121

如何写procedure 过程

一、整体格式。存储过程的格式如下:CREATE PROCEDURE [creator.]"proc_name" ( /* parameters, */ )/* RESULT ( column-name, ) */BEGIN;END其中creator是用户名,比如dba;proc_name是你自己起的过程名;后面的参数可有可无,视自己情况定,如果有格式如(a integer,b char(50));再下面的RESULT应该是返回值,这个没用过不知道怎么回事!二、内容。把这些都写好了可能是这样:CREATE PROCEDURE dba.myProcedure ( @a integer,@b char(50))BEGIN;END但是这样子还是不能编译的,因为整个过程体是空的,而我学习的结果是过程中至少要有一个SQL语句。所以要这样写才不会出错:CREATE PROCEDURE dba.myProcedure ( a integer,b char(50))BEGINSELECT * FROM MyTableEND三、语法。1、分号。在写的过程中最郁闷的问题是分号!最后发现好像是这样:每一句都要加分号,不管是SQl语句还是其它的什么语句,但是最后保存后最后一句的分号会被自动删除!(我用的是Sybase的Sybase Central)。2、定义变量。格式为Declare @varName integer;(注意有分号!)“@”号好像可有可无!3、SELECT语句。格式为:SELECT Count(*) INTO @varName FROM MyTable WHERE id = @a;4、if语句。格式为:if(varName > 0) thenreturnend if;(注意还有分号!)5、循环语句。格式为:loop……end loop;(注意分号!)6、设置变量值。格式为:set @varName = 10;set @varName = @varName2;7、字符串。Declare myString char(50);set @myString = "Hello!";要用单引号!8、定义游标。格式为:declare MyCursor dynamic scroll cursor for select …… from …… where ……;9、打开、使用和关闭游标。Open MyCursor;fetch next MyCursor into ……;Close MyCursor;10、调用方法。string ls_name="test"DECLARE ProcName1 PROCEDURE FOR ProcName2@wg_wellid=2,@wg_wgid=1,@wg_stringsid=1,@bha_wellid=2,@bha_name=:ls_name;execute ProcName1 ;close ProcName1 ;其中ProcName1 是调用程序中自定义的过程名,ProcName2是数据库中存储过程的名字,下面的传入的参数。
2023-07-23 02:42:021

oracle的procedure怎么返回

通过定义out参数,并且在procedure中赋值即可。如果只是想退出procedure则可以使用return。
2023-07-23 02:42:101

function和procedure的区别

楼上说的都有点道理我总结一下其实过程-procedure和函数-function本质差不多楼上说的返回值,其实两种方法都有,function是直接返回,而procedure是间接返回比如我定义一个函数functionadd(a,b:integer):integer;//最后的integer就是返回值在函数里面有专门的result来传递这个返回值而procedure没有直接返回值,如果想要procedure返回某个数值可以在过程里面定义变量,然后借助这个变量来返回数值楼主你问到怎么从输出我举个例子,就举加法的例子functionadd1(a,b:integer):integer;beginresult:=a+b;end;procedureadd2(a,b:integer);varres:integer;beginres:=a+b;writeln(res);end;调用的时候看清楚了我先调用函数形式的vara,b:integer;beginreadln(a,b);writeln(inttostr(add1(a,b)));//这个直接调用函数,直接返回readln;end.这个是过程的vara,b,res:integer;beginreadln(a,b);add2(a,b);//函数里面间接输出了,并不需要在主程序里面再次输出了readln;end.
2023-07-23 02:42:271

如何创建和使用procedure

第一步:点击数据库下的“可编程性”,选择“存储过程”,点击鼠标右键,选择“新建存储过程”第二步:在create PROCEDURE 后 输入存储过程的名字,紧跟着的就是定义存储过程的参数,接下来就可以去编写自己所需要组装的存储过程语句了注意,怕写的不对,可以执行下,想验证sql语句是否正确,就使用print输出下3第三步:点击上面的执行,存储过程就写好了,要怎么调用呢,在sqlserver的语句查询框中,输入exec 存储过程名 参数,执行就可以了。
2023-07-23 02:42:461

procedure和function的区别

procedure 就是纯运行的过程(可以不命名),function则是函数,是有值的,有时可以直接输出procedure多用于深搜,function多用于递归,比较(以下都是正确打法):①procedure;②procedure dfs(x:longint);//(此处dfs只能调用,不能以ans:=dfs(x)或writeln(dfs(x))的形式出现)③function a:(x:boolean):longint;//(此处a被赋为longint,可以直接输出或作为longint使用,如ans:=a(x),当然,每次都会重新算一遍,boolean则是变量x"的定义,如果a被赋为boolean,是不可以输出的,但同样能作为boolean使用)
2023-07-23 02:42:561

procedure和surgery的区别

surgery: n. 1.外科(学);外科手术。 2.外科手术[实验]室 ...procedure: n. 1.工序,过程,步骤。 2.程序,手续;方法;诉讼 ...
2023-07-23 02:43:051

procedure的形容词形式是什么

procedure n. procedural adj.
2023-07-23 02:43:111

procedure 怎么读

建议打开翻译软件,输入这个单词,然后有读音按钮,点开就行了。中文谐音……小学很熟悉的方法……能用音标用音标,学不会音标,跟着多读几次也差不多了。
2023-07-23 02:43:192

process和procedure的区别

process主要是过程的意思,名词,比如你的成长过程--growing up process,再比如说,做作业的过程--the process of doing homeworkprocedure有步骤的意思,比如实验步骤,规程,一般是法定或经过严格规定的办事流程.
2023-07-23 02:43:271

step与procedure的区别

step,是一步,procedure,是步骤,有很多步
2023-07-23 02:43:352

procedure和function的区别

procedure是程序,手续,步骤的意思是名词,而function是功能,函数,盛会的意思,这是名词,动词是运行,活动,行使职责的意思。
2023-07-23 02:43:431

oracle中function和procedure是什么意思

oracle中function是函数,而procedure是存储过程。函数:函数用于返回特定数据。执行时得找一个变量接收函数的返回值。语法如下: create or replace function function_name  (  argu1 [mode1] datatype1,  argu2 [mode2] datatype2, ........  )  return datatype  is  begin  end;存储过程:存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。语法如下:CREATE OR REPLACE PROCEDURE 存储过程名 IS BEGIN NULL; END;
2023-07-23 02:43:521

procedures什么意思啊

procedures的意思为“程序”、"手续""、手术"、"步骤"、"法律程序”。procedures是procedure的复数形式,而procedure作为名词,含义与procedures相同,后面常接个词for,固定搭配为procedure for sth。英语例句:1、A biopsy is usually a minor surgical procedure。活组织检查通常是一个很小的外科手术。2、The new information adds fuel to the debate over safety procedures。新信息对于有关安全程序的辩论是火上浇油。3、The health and safety officer will guide you through the safety procedures。安全员将向你把安全规程解释一遍。4、You need to become fully conversant with the company"s procedures。你得对公司的程序了如指掌。5、Employees should be fully acquainted with emergency procedures。雇员应当十分熟悉应急措施。
2023-07-23 02:44:121

pascal中procedure啥意思

就是过程的意思,function是函数
2023-07-23 02:44:355

procedures是什么意思

过程、步骤的意思
2023-07-23 02:44:522

Process和procedure词义 ,用法的区别.

简单地讲,一般有如下区别: 1、process指的是“过程”,着眼点是“整体或全部”,是一个总体/宏观的概念; 2、procedure指的是“步骤”,着眼点都是“细节或组成部分”,是一个局部/微观的概念.
2023-07-23 02:45:271

operation和procedure区别

Operation的意思是活动、手术Procedure的意思是商业法律或政治上的程序、正常的手续、步骤
2023-07-23 02:45:362

process和procedure意思的区别如题,最好能给出例子说明

Process 指的是过程,而Procedure是步骤.比如说,“在此过程中”,英语是“during the process",而不是“during the procedure”;而procedure 是用在说明上的.比如说“实验过程”,英文是“lab procedure",而不是”lab process"总的来讲Process 的意思要丰富一些:1、Procedure(1)手续、步骤Procedure表达此意的时候,表示固定的、已经成为常规的含义ED:in production(生产过程里的步骤肯定是一定的、固定的、常规的)对比:Process的第(2)条(2)传统的做法、常规这条的意思影响了第(1)条的含义EG:company s(公司的规矩)Process(强调一种动态的变化)EG:the process of digestion(2)步骤、程序、工序、制作方法和Procedure相比较:1.Procedure除了有“固定的、常规的”含义外,还强调一步一步的一条一条的规则,是微观的2.Process 则比较宏观,比较抽象,强调的只是“方法、步骤”这个概念EG:develop a new of dyeing(创造一种新的染色法)
2023-07-23 02:45:441

数据库中 procedure 是什么???

存储过程
2023-07-23 02:45:533

process和procedure意思的区别如题,最好能给出例子说明

Process 指的是过程, 而Procedure是步骤。 比如说,“在此过程中”,英语是“during the process", 而不是“during the procedure”; 而procedure 是用在说明上的。 比如说“实验过程”,英文是“lab procedure", 而不是”lab process" 总的来讲Process 的意思要丰富一些:1、Procedure (1)手续、步骤 Procedure表达此意的时候,表示固定的、已经成为常规的含义 ED:~in production(生产过程里的步骤肯定是一定的、固定的、常规的) 对比:Process的第(2)条 (2)传统的做法、常规 这条的意思影响了第(1)条的含义 EG:company ~s(公司的规矩) Process (1)过程、变化过程 (强调一种动态的变化)EG:the process of digestion (2)步骤、程序、工序、制作方法 和Procedure相比较: 1.Procedure除了有“固定的、常规的”含义外,还强调一步一步的 过程,一条一条的规则,是微观的 2.Process 则比较宏观,比较抽象,强调的只是“方法、步骤”这个 概念 EG:develop a new ~ of dyeing(创造一种新的染色法)
2023-07-23 02:46:011

pl sql中,新建procedure,若有这个procedure,会提示什么

plsql中,新建procedure,若有这个procedure不会提示。存储过程的意思,存储过程可以对来源数据进行过滤、加工,然后把数据放到目标数据表,存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译
2023-07-23 02:46:201

procedure步骤可数吗

procedure步骤可数是:可数的。 例句:你在论证中似乎略去了好几个步骤。 You seem to have jumped several steps in the argument. 扩展资料   1、只有每一逻辑步骤都被其他数学家验证之后,证明才能成立。   Only when each logical step has been checked by other mathematicians will the proof be accepted.   2、这一步骤带来了许多严重的后果。   This step involved many fateful consequences.   3、照前面的练习一样,重复这五个步骤。   Repeat these five steps, as in the last exercise.   4、我们必须采取积极步骤处理这个问题。   We must take positive steps to deal with the problem.
2023-07-23 02:46:281

procedure 是那种编程语言。

Delphi/Object Pascal
2023-07-23 02:46:403

oracle中如何运行PROCEDURE

exec 存储过程名
2023-07-23 02:46:493

process,procedure,progress有什么区别

简单理解一下啊:process 在计算机中就是一个正在运行的程序procedure 在计算机中就是一段程序代码progress n. 进步, 前进, 发展 v. 促进, 进行, 进步 与前两个单词无任何相关性
2023-07-23 02:47:121

procedure语句是干什么用的? SQL

创建存储过程用的例如: create procedure 存储过程名
2023-07-23 02:47:333

procedure 造句

restoration solution 译:恢复解决方案 Check if there is the procedure to control the restoration solution test and performed by this procedure 译:检查是否有程序来控制测试和恢复解决方案是通过此过程完成.
2023-07-23 02:47:401

delphi中type里的procedure和private中的procedure和public中的procedure有什么区别?

private是类的私有成员public是类的共有成员procedure是过程私有成员是类外部是不能访问的。但是共有成员是可以访问的。type中procedure是把“某某”当成过程来用。
2023-07-23 02:47:482

“步骤”用英语怎么说

step(s)
2023-07-23 02:47:586

pl sql中,新建procedure,若有这个procedure了,会提示什么

会提示文件已经存在。plsql中procedure是存储过程的意思,存储过程可以对来源数据进行过滤、加工,然后把数据放到目标数据表。PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。
2023-07-23 02:48:261

在sqlserver中,存储过程proc,procedure什么区别

proc,procedure在创建存储过程时没有什么区别,也就是说一个是缩写,一个是全称
2023-07-23 02:48:353

解释function,procedure和package区别

function,是指功能procedure是指处理过程package是指包装
2023-07-23 02:48:452

存储过程中的 procedure、function和 package是干什么的,需要详细介绍

procedure:过程function:函数package:包一、过程 PL/SQL过程是一个编译到oracle数据库模式的单机程序。过程可以接受参数。当编译一个过程时,CREATE PROCEDURE语句的过程标识符成为数 据字典中的对象名。 CREATE OR REPLACE PPROCEDURE procedure_name (optional parameters) IS | AS declarative part BEGIN program body EXCEPTION exception handler END procedure_name; Declarative Part 是声明变量的地方,比如: local_counter NUMBER := 0; 也可以声明复合类型结构,如records和tables 也可以声明异常,但必须在Exception部门进行处理。 Subprogram Body 包含使用PL/SQL控制结构的逻辑算法实现。PL/SQL控制结构支持loops、if-then-else、case、和声明块结构。 Exception handler 可选,类似于其他语言的try-catch模型,你可以对特定错误类型或一般异常编写处理器. 应当以动词来命名一个过程。过程常常执行一些操作如更新数据库、写数据到一个文件或者发送一条消息。 一个过程不必要有参数,如果没有参数创建过程是不需要括号。当调用一个过程时(过程没有参数)括号是可选的。 例如: CREATE OR REPLACE PROCEDURE insert_temp IS BEGIN INSERT INTO TEMP (n) VALUES (0); END insert_temp: sqlplus调用过程: SQL>execute insert_temp; SQL>execute insert_temp(); 都是正确的。 IS 或 AS关键字是一样的,都可以用。 PROCEDURE insert_temp IS | AS END关键字后加过程名也是可选的,但建议加过程名。一个过程可能跨越几屏的长度,当滚屏时,有助于看到END子句知道没有跳到下一个包过 程中。 完整的过程结构如下: CREATE OR REPLACE PROCEDURE print_temp IS v_average NUMBER; v_sum NUMBER; BEGIN SELECT AVG(n), SUM(n) INTO v_average, v_sum FROM TEMP; dbms_output.put_line("Average:"||v_average); dbms_output.put_line("Sum:"||v_sum); END print_temp; 二、函数 函数提供了获取对象状态和情形信息的手段,函数有返回值。 CREATE OR REPLACE FUNCTION student_status(optional parameters) RETURN VARCHAR2 IS declarative part BEGIN program body RETURN expression; EXCEPTION exception handler code that should include a RETURN END student_student_status; 参数是可选的,但RETURN语句是必须的。FUNCTION必须有一个return 语句。 下面的例子是返回一个DATE类型的函数: CREATE OR REPLACE FUNCTION tomorrow RETURN DATE IS next_day DATE; BEGIN next_day := SYSDATE + 1; RETURN next_day; END tomorrow; 函数中的return语句可以是一个表达式,上面函数可以直接返回一个表达式而不用本地变量: FUNCTION tomorrow RETURN DATE IS BEGIN RETURN SYSDATE + 1; END tomorrow; 函数于过程结果相似,只是函数返回值,而过程不返回值 三、包说明 1、语法和风格 包说明基本语法: CREATE PACKAGE package_name IS Type definitions for records, index-by tables, varrays, nested tables Constants Exceptions Global variable declarations PROCEDURE procedure_name_1 (parameters & types); PROCEDURE procedure_name_2 (parameter & types); FUNCTION function_name_1 (parameters & types) RETURN type; END package_name; 包说明中过程和函数没有顺序限制。 包主体将包含包说明中每一个子程序的PL/SQL代码。包说明中的每一个子程序包体中必须有相应的子程序体。 在包说明中的数据对象声明是全局的。因此,仅声明需要全局定义的对象。 在包体内的过程语句,包括子程序名、参数名、参数模式、参数类型,必须匹配包说明中的过程语句。同样,函数也是一样。 包主体模板如下: CREATE PACKAGE BODY package_name IS PROCEDURE procedure_name_1 (parameters & types) IS local variables BEGIN body of code END procedure_name_1; PROCEDURE procedure_name_2 (parameter & types) IS local variables BEGIN body_of_code END procedure_name_2; FUNCTION function_name_1 (parameters & types) RETURN type IS local variables BEGIN body of code RETURN statement; END function_name_1; END package_name; 2、示例: CREATE OR REPLACE PACKAGE students_pkg IS PROCEDURE add_student (v_student_name IN students.student_name%TYPE, v_college_major IN students.college_major%TYPE, v_status IN students.status%TYPE, v_state IN students.state%TYPE DEFAULT NULL, v_license_no IN students.license_no%TYPE DEFAULT NULL); FUNCTION NO_OF_STUDENTS (v_major IN major_lookup.major_desc%TYPE DEFAULT NULL, v_status IN students.status%TYPE DEFAULT NULL) RETURN NUMBER; END students_pkg; 四、包主体 下面是上例的包主体实现: CREATE OR REPLACE PACKAGE BODY students_pkg IS PROCEDURE add_student (v_student_name IN students.student_name%TYPE, v_college_major IN students.college_major%TYPE, v_status IN students.status%TYPE, v_state IN students.state%TYPE DEFAULT NULL, v_license_no IN students.license_no%TYPE DEFAULT NULL) IS BEGIN INSERT INTO students VALUES ("A"||students_pk_seq.NEXTVAL, v_student_name, v_college_major, v_status, v_state, v_license_no); END add_student; FUNCTION NO_OF_STUDENTS (v_major IN major_lookup.major_desc%TYPE DEFAULT NULL, v_status IN students.status%TYPE DEFAULT NULL) RETURN NUMBER IS ccount INTEGER; BEGIN SELECT COUNT (*) INTO ccount FROM students, major_lookup WHERE students.college_major = major_lookup.major AND major_lookup.major_desc = nvl(v_major,major_lookup.major_desc) AND students.status = nvl(v_status,students.status); RETURN ccount; END NO_OF_STUDENTS; END students_pkg; 开发包主体可能需要其他本地过程和函数,这些是隐藏的,叫私有(过程或函数)。 常常情况下要把一个单独的过程放入一个新包或一个已存在包里面。 PACKAGE temp_operations IS PROCEDURE insert_temp; END temp_operations; PACKAGE BODY temp_operations IS PROCEDURE insert_temp IS BEGIN INSERT INTO temp (n) VALUES (0); END insert_temp; END temp_operations; 使用下面方式调用: temp_operations.insert_temp; temp_operations.insert_temp(); http://yaoayao.javaeye.com/blog/710706
2023-07-23 02:48:561

procedure是可数名词吗

是可数名词。后面直接加s
2023-07-23 02:49:181

oracle procedure 和function ,PACKAGE的区别有哪些?

类比来说吧procedure是存储过程相当于程序语言里面一个处理业务的方法也可以返回值function是方法相当于程序语言里面返回一个值的方法一般较简单可以在dml语句中用这个方法加参数增删改查package相当于程序里面一个接口里面可以定义常量数组bean多个procedure和多个function的空实现packagebody相当于程序里面一个类是对应实现接口package的
2023-07-23 02:49:381

oracle修改procedure名字

1、首先打开电脑,输入密码进行解锁。2、其次打开ensp,创建oracle工作表。3、最后右键点击输入代码,即可修改procedure名字。
2023-07-23 02:49:451