当前位置:首页 » 存储配置 » 业务逻辑存储过程

业务逻辑存储过程

发布时间: 2022-05-07 21:07:00

⑴ 业务逻辑层怎样调用写好的存储过程

直接在xml文件里面select标签里面 call 存储过程名(参数1,参数2,参数3)

sql中存储过程是干什么用的

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

数据库存储过程的实质就是部署在数据库端的一组定义代码以及SQL。将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。

每个参数名前要有一个“@”符号,每一个存储过程的参数仅为该程序内部使用,参数的类型除了IMAGE外,其他SQL Server所支持的数据类型都可使用。

(2)业务逻辑存储过程扩展阅读:

SQL中存储过程优点:

1、重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

2、减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

3、安全性。参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

4、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

⑶ 什么时候要用存储过程,存储过程的优点

使用存储过程并没有什么时候的限制,说白了任何时候都可以使用存储过程,因为存储过程是经过编译的程序片段,在数据库启动时已经加载在oracle的cache中了,并且任何人调用它都不会经过重新编译,也不会进行语法分析及最近路径选择等耗时的操作,所以建议多使用。
存储过程的优点:

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
3.存储过程可以重复使用,可减少数据库开发人员的工作量
4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权
缺点:
1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新
GetValue()
调用,等等,这时候估计比较繁琐了。
2.可移植性差
由于存储过程将应用程序绑定到
SQL
Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。

⑷ 存储过程作用是什么,优缺点以及适用范围是什么

中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。 存储过程的优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权 缺点:1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。
2.可移植性差
由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。 优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcere为封装此代码提供了一个替换位置。 2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录。)缓存改善性能。 ........但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以没比较优势了。 3.存储过程可以用于降低网络流量,存储过程代码直接存储于数据库中,所以不会产生大量T-sql语句的代码流量。 4.使用存储过程使您能够增强对执行计划的重复使用,由此可以通过使用远程过程调用 (RPC) 处理服务器上的存储过程而提高性能。RPC 封装参数和调用服务器端过程的方式使引擎能够轻松地找到匹配的执行计划,并只需插入更新的参数值。 5.可维护性高,更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。 6.代码精简一致,一个存储过程可以用于应用程序代码的不同位置。 7.更好的版本控制,通过使用 Microsoft Visual SourceSafe 或某个其他源代码控制工具,您可以轻松地恢复到或引用旧版本的存储过程。 8.增强安全性: a、通过向用户授予对存储过程(而不是基于表)的访问权限,它们可以提供对特定数据的访问; b、提高代码安全,防止 SQL注入(但未彻底解决,例如,将数据操作语言--DML,附加到输入参数); c、SqlParameter 类指定存储过程参数的数据类型,作为深层次防御性策略的一部分,可以验证用户提供的值类型(但也不是万无一失,还是应该传递至数据库前得到附加验证)。 缺点: 1.如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则您仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐了。 2.可移植性差 由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。

⑸ 业务处理逻辑写在程序里好还是写在SQL存储过程更好

第一,方便你自己修改。因为是业务逻辑嘛,难免会有改动,况且业务越大,逻辑越复杂,用存储过程来写就越困难,别人读起来也越费劲,而程序代码可以很好的解决这一点
第二,迁移性。尤其是做产品,使用什么样的数据库是不一定的,而且我们要尽量可以应付所有的主流数据库产品(使用DAL的Factory模式)而不同的dbms下的语法也不尽相同。为了方便程序运行并且减少对环境的依赖程度,还是使用代码控制好。

⑹ 业务逻辑是应该放在php中还是使用存储过程

放在php中实现,这个没得说的,数据的运算或处理应放到程序端实现,不要放到数据库上。尽量不在数据库上做运算,复杂运算放到程序服务器上,尽可能简单应用SQL

在项目中不推荐使用存储过程,我所在的公司项目要求禁止使用存储过程。

为什么不推荐使用?

  • 缺少相应的日志记录,出现问题很难定位

  • 给主从同步带来隐患

  • 给数据恢复带来问题

  • 给权限控制带来隐患

⑺ 存储过程和触发器的区别和联系。

我的理解:主要是使用场合不同,还有就是触发器中不能使用commit(这个应该是约定而不是规定)
存储过程相当于打包好的sql语法,可以包含复杂的sql操作,在程序调用时只要执行该存储过程,一句话就可以完成复杂的数据库操作.
触发器是也是打包好的sql语法,是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行
另外:触发器相对一般的存储过程也多了一些在代码编写方面的不同,比如说create
trigger
必须是批处理中的第一条语句,并且只能应用到一个表中等等.具体的可以看一下触发器的说明;http://ke..com/view/1189954.htm

⑻ 什么是存储过程有什么优点

存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。

优点:

1、重复使用:存储过程可以重复使用,从而可以减少数据库开发人员的工作量。

2、减少网络流量:存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。

3、安全性:参数化的存储过程可以防止SQL注入式攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程。

(8)业务逻辑存储过程扩展阅读

存储过程的缺点:

1、更改比较繁琐:如果更改范围大到需要对输入存储过程的参数进行更改,或者要更改由其返回的数据,则仍需要更新程序集中的代码以添加参数、更新 GetValue() 调用,等等,这时候估计比较繁琐。

2、可移植性差:由于存储过程将应用程序绑定到 SQL Server,因此使用存储过程封装业务逻辑将限制应用程序的可移植性。如果应用程序的可移植性在您的环境中非常重要,则需要将业务逻辑封装在不特定于 RDBMS 的中间层中。

⑼ mysql存储过程是什么意思什么时候会用到,主要用来做什么

存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅限于批处理。
存储过程就是有业务逻辑和流程的集合,
可以在存储过程中创建表,更新数据,
删除等等。
你可以理解为用sql语句开发的一个
类和函数。
为什么要使用存储过程
通过把处理封装在容易使用的单元中,简化复杂的操作(正如前面例子所述)。
由于不要求反复建立一系列处理步骤,这保证了数据的完整性。如果所有开发人员和应用程序都使用同一(试验和测试)存储过程,则所使用的代码都是相同的。这一点的延伸就是防止错误。需要执行的步骤越多,出错的可能性就越大。防止错误保证了数据的一致性。
简化对变动的管理。如果表名、列名或业务逻辑(或别的内容)有变化,只需要更改存储过程的代码。使用它的人员甚至不需要知道这些变化。

热点内容
android显示电量 发布:2024-09-22 23:16:48 浏览:282
pythonasciitoutf8 发布:2024-09-22 23:15:50 浏览:231
8110pos机后台密码是多少 发布:2024-09-22 22:59:10 浏览:607
数理算法 发布:2024-09-22 22:54:33 浏览:52
python学习视频 发布:2024-09-22 22:49:37 浏览:776
智联尊享是什么配置 发布:2024-09-22 22:48:40 浏览:588
沧州的编程 发布:2024-09-22 22:18:58 浏览:836
安卓为什么切换到鸿蒙有些软件不见了 发布:2024-09-22 22:14:48 浏览:895
什么可以缓解压力 发布:2024-09-22 21:54:03 浏览:51
android线程调用 发布:2024-09-22 21:33:11 浏览:797