数据库存储过程是啥

author author     2023-03-17     616

关键词:

参考技术A 问题一:sql数据库中的存储过程该怎么理解 有什么用啊? 存储过程是SQL 语句和流程控制语句的预编译 *** ,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

问题二:数据库中什么是存储过程?作用是什么? 存储过程,就是带有名字的一个程序块。
存储,是指这个程序块创建了之后,是存储在数据库内部的,然后我们可以在自己写的程序中通过某种手段去调用这段程序,然后这段程序就会做一件事,做什么事?我们定义存储过程的时候怎么写的,它到时候就做什么;
过程,就是程序块,说白了就是一段程序。
存储过程,创建完成之后,就存储在数据库内部了,数据库帮你记着,存储过程创建的时候都有一个名字,将来你在你的程序当中,通过某种方式(不同编程语言有不同的方式),一般来讲通过这个名字,去调用存储过程,就像使用一个方法或者函数一样,它就去做一件事!
不同的数据库的存储过程,都是用当前自己这个数据库的编程语言来编写的,比如Oracle的PL/SQL编程,等等。
自己写一个就明白了,语法不用我多说了吧?

问题三:什么叫作数据库的存储过程? 存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,并且这样的语句是放在数据库中的,还可以根据条件执行不同SQL语句, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 存储过程的优点 1.存储过程只在创造时进行编译即可,以后每次执行存储过程都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。可以极大的提高数据库的使用效率,减少程序的执行时间,这一点在较大数据量的数据库的操作中是非常重要的。在代码上看,SQL语句和程序代码语句的分离,可以提高程序代码的可读性。 3.存储过程可以设置参数,可以根据传入参数的不同重复使用同一个存储过程,从而高效的提高代码的优化率和可读性。 4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权存储过程的种类: (1)系统存储过程:以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作,如 sp_help就是取得指定对象的相关信息。 (2)扩展存储过程 以XP_开头,用来调用操作系统提供的功能exec master..xp_cmdshell 'ping 10.8.16.1' (3)用户自定义的存储过程,这是我们所指的存储过程常用格式 模版:Create procedure procedue_name [@parameter data_type][output][with]repile|encryption as sql_statement 解释:output:表示此参数是可传回的 with repile|encryption repile:表示每次执行此存储过程时都重新编译一次;encryption:所创建的存储过程的内容会被加密。

问题四:数据库中存储过程有什么主要作用,或都说它的主要用途? 存储过程的概念
存储过程(Stored Procedure)是一组预先编绎好的Transact-SQL语句。将其放在服务器上,由用户通过指定存储过程的名字来执行它。存储过程可以作为一个独立的数据库对象,也可以作为一个单元被用户的应用程序调用。存储过程可以接收和输出参数,返回执行存储过程的状态值,还可以嵌套调用。
存储过程同其他编程语言中的过程(Procedure)类似,主要体现在以下几个方面:
(1)存储过程可以接收参数,并以接收参数的形式返回多个参数给调用存储过程和批处理。
(2)包含执行数据库操作的编程语句,也可以调用其他的存储过程。
(3)向调用过程或批处理返回状态值,以反映存储过程的执行情况。
注意:存储过程跟函数不同,存储过程不能在被调用的位置上返回数据,也不能被应用在语句当中,例如不可以用类似“@Proc=存储过程名”的方式使用存储过程。但是,存储过程可以使用变量的形式来返回参数。
存储过程的优点表现在以下几个方面:
(1)执行速度快
存储过程在创建时就经过了语法检查和性能优化,因此在执行时不必再重复这些步骤。存储过程在第一次调用后,就驻留在内存中,不必再经过编译和优化,所以执行速度很快。在有大量批处理的Transact-SQL语句要重复执行的时候,使用存储过程可以极大地提高运行效率。
(2)模块化程序设计
只需创建存储过程一次,并将其存储在数据库中,可以在程序中多次调用该存储过程。用户可以独立于应用程序而对存储过程进行修改。
(3)减少网络通信量
存储过程中可以包含大量的Transact-SQL语句。在进行调用时,只需要使用一条语句就可以实现,而不需要在网络中发送数百行代码。
(4)保证系统的安全性
可以设置用户通过存储过程来对某些关键数据进行访问,但不允许用户直接使用Transact-SQL语句或企业管理器来对数据进行访问。

问题五:数据库存储过程和函数的区别 函数分两种,表值函数跟标量函数
表值函数最后要返回一个表变量,而标量函数最后要返回一个标量值
存储过程即一组批处理,可以返回或不返回值,仅仅是执行其内部的全部语句
函数可以与一般sql语句一同编写,而存储过程不可以,需要单独执行

问题六:数据库编辑存储过程是什么意思 一般来说,程序员都希望编写出来的程序能有最大化的应变能力,存储过程的最大作用是可以降低代码维护的工作量,很多需求的变化不用修改代码进而发布程序,而只需要调整一下存储过程即可实现
例如你打算开发一个报表,该报表会对数据库的数据进行一定程度的加工,然后再呈现给用户,那么你的实现方法有两个
1. 使用代码调用SQL,取到基础数据后,在程序代盯里面进行加工,并呈现给用户
2. 也可以编写一段存储过程,该存储过程先取基础数据,然后在存储过程里面进行数据加工,最后把最终的结果一次性的反馈给程序代码,程序代码只需要把执行完存储过程的结果呈现给用户即可
这两个方法都可以实现你想实现的功能,但是如果万一有一天需求变化了,用户需要呈现的结果中增加或者减少了部分内容,那么第一个方法就只能修改代码了,而第二个方法只需要调整存储过程即可实现

问题七:在SQL中存储过程的一般语法是什么? sql server存储过程语法
存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个:
第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
第三、有利于SQL语句的重用。

在ASP中,一般通过mand对象调用存储过程,根据不同情况,本文也介绍其它调用方法。为了方便说明,根据存储过程的输入输出,作以下简单分类:
1. 只返回单一记录集的存储过程
假设有以下存储过程(本文的目的不在于讲述T-SQL语法,所以存储过程只给出代码,不作说明):
/*SP1*/
CREATE PROCEDURE dbo.getUserList
as
set nocount on
begin
select * from dbo.[userinfo]
end
go
以上存储过程取得userinfo表中的所有记录,返回一个记录集。通过mand对象调用该存储过程的ASP代码如下:

'**通过mand对象调用存储过程**
DIM Mym,MyRst
Set Mym = Server.CreateObject(ADODB.mand)
Mym.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
Mym.mandText = getUserList '指定存储过程名
Mym.mandType = 4 '表明这是一个存储过程
Mym.Prepared = true '要求将SQL命令先行编译
Set MyRst = Mym.Execute
Set Mym = Nothing
存储哗程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。
在以上代码中,mandType属性表明请求的类型,取值及说明如下:
-1 表明mandText参数的类型无法确定
1 表明mandText是一般的命令类型
2 表明mandText参数是一个存在的表名称
4 表明mandText参数是一个存储过程的名称

还可以通过Connection对象或Recordset对象调用存储过程,方法分别如下:
'**通过Connection对象调用存储过程**
DIM MyConn,MyRst
Set MyConn = Server.CreateObject(&qu......>>

问题八:T-SQL和存储过程有什么区别 20分 区别T-SQL是语言,存储过程是数据库一种对象
T-SQL 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。
? 存储过程的概念
存储过程Procedure是一组为了完成特定功能的SQL语句 *** ,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。
存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。
由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

问题九:数据库存储过程怎么调用存储过程 在存储过程里用exec执行另一存储过程名及它需要的参数就可以了
如 exec abc '1', '2' (abc 是存储过程的名字, '1','2' 是它的参数)

数据库存储过程是啥

参考技术A问题一:sql数据库中的存储过程该怎么理解有什么用啊?存储过程是SQL语句和流程控制语句的预编译***,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序调用执行,而且允许用户声明变... 查看详情

存储过程在数据库中的作用是啥

...机的压力。第五:存储过程可以包含程序流、逻辑以及对数据库的查询。同时可以实体封装和隐藏数据逻辑。第六:存储过程可以在单个存储过程中执行一系列SQL语句。第七:存储过程可以从自己的存储过程内引用其它存储过程... 查看详情

SQL Server 2005 中带有挂锁图标的存储过程是啥?

...】:2009-06-2214:29:03【问题描述】:我在我正在管理的一个数据库中看到一些存储过程,它们具有常规的存储过程图标,但旁边有一个小挂锁。我看到的不同之处在于我无法“修改”它们,如果 查看详情

sql的存储过程语法格式是啥?

sqlserver存储过程语法存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQLServer)。如果我们通... 查看详情

请问啥是存储过程,存储过程作用是啥,啥情况下才用存储过程?如何用sql调用存储过程?

...)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都... 查看详情

未能找到属性“name”的架构信息,是啥错啊,求解

...过程时参数是不是都一样,而且确定该存储过程是到哪个数据库中,很可能你把存储过程名称写错了,细心点··· 参考技术B看调用存储过程时参数是不是都一样,而且确定该存储过程是到哪个数据库中,很可能你把存储过程名称... 查看详情

在 Django 的 ORM 中访问存储过程的最佳方法是啥

...2010-10-2218:25:12【问题描述】:我正在设计一个相当复杂的数据库,并且知道我的一些查询将远远超出Django的ORM的范围。有没有人成功地将SP与Django的ORM集成?如果是这样, 查看详情

pg数据库存储过程包含存储过程报语法错误,麻烦大神看看是啥问题?

CREATEORREPLACEProceduret_cks_test(in_idinnumeric,out_tailinoutVarchar)as$body$DECLAREv_idNUMERIC:=0;beginProceduret_cks_test_o(i_idinNUMERIC)asbeginv_id:=i_id+1000::numeric;end;v_id:=in_id;ifv_id>1thenout_tail:='未调存过';endif;end;$body$LANGUAGEplpgsql如图中报错,麻烦大神... 查看详情

在sql中存储过程的一般语法是啥?

...nbsp;[=默认值] [output],....]asSQL_statements2、创建不带参数存储过程--创建存储过程if (exists (select * from sys.objects where name = 'proc_get_student'))drop proc proc_get_studentgocreate proc proc_get_... 查看详情

从sql列中拆分数据并将其保存在sql存储过程中的另一个表中的最有效方法是啥[重复]

】从sql列中拆分数据并将其保存在sql存储过程中的另一个表中的最有效方法是啥[重复]【英文标题】:WhatisthemostefficientwayofSplittingthedatafromsqlcolumnandsavingitinanothertableinsqlstoredprocedure[duplicate]从sql列中拆分数据并将其保存在sql存储过... 查看详情

sqlserver中dbcheck数据库是啥命令

参考技术A表由行和列构成的集合,用来存储数据数据类型定义列或变量的数据类型,SQLServer提供了系统数据类型,并允许用户自定义数据类型视图由表或其他视图导出的虚拟表索引为数据快速检索提供支持且可以保证数据唯一... 查看详情

在 SQL Server 2000 中删除存储过程的语法是啥?

】在SQLServer2000中删除存储过程的语法是啥?【英文标题】:WhatisthesyntaxtodropaStoredProcedureinSQLServer2000?在SQLServer2000中删除存储过程的语法是什么?【发布时间】:2011-03-2403:41:17【问题描述】:简单的问题,正如标题所示:在SQLServe... 查看详情

如果存储过程啥都不执行,那么 ORA 代码会是啥?

】如果存储过程啥都不执行,那么ORA代码会是啥?【英文标题】:WhatwillbetheORAcodeiftheStoredProcedureexecutesnothing?如果存储过程什么都不执行,那么ORA代码会是什么?【发布时间】:2017-03-0611:53:57【问题描述】:我有一个从Java代码调... 查看详情

在通用 DAO 中使用 Hibernate 调用存储过程的最佳方法是啥?

】在通用DAO中使用Hibernate调用存储过程的最佳方法是啥?【英文标题】:What\'sthebestwaytocallingaStoredProcedureusingHibernateinaGenericDAO?在通用DAO中使用Hibernate调用存储过程的最佳方法是什么?【发布时间】:2012-10-2516:52:00【问题描述】... 查看详情

将数组从 php 传递到 MySQL 存储过程的最佳方法是啥?

】将数组从php传递到MySQL存储过程的最佳方法是啥?【英文标题】:WhatisthebestwaytopassanarrayfromphptoMySQLstoredprocedure?将数组从php传递到MySQL存储过程的最佳方法是什么?【发布时间】:2012-01-1214:34:58【问题描述】:我希望将id列表从P... 查看详情

数据库术语之存储过程(storedprocedure)

...SP)是啥?有什么用?优缺点?  一个SP是一段存储在数据库中的sql语句,它能被触发器,或者其他的SP以及APP触发。直观看来,就像是数据库中的自定义函数,navicat直接将其列在了函数类别里:未完待续。。。 参考文章... 查看详情

这个 Oracle SQL Developer 图标在我的存储过程中是啥意思?

】这个OracleSQLDeveloper图标在我的存储过程中是啥意思?【英文标题】:WhatdoesthisOracleSQLDevelopericonmeanonmystoredprocedure?这个OracleSQLDeveloper图标在我的存储过程中是什么意思?【发布时间】:2011-05-0908:01:58【问题描述】:我一直在使... 查看详情

使用 FireDac 在 Delphi 中动态创建和调用存储过程的正确方法是啥?

】使用FireDac在Delphi中动态创建和调用存储过程的正确方法是啥?【英文标题】:WhatistheproperwaytodynamicallycreateandcallastoredprocedureinDelphiusingFireDac?使用FireDac在Delphi中动态创建和调用存储过程的正确方法是什么?【发布时间】:2014-02... 查看详情