存储过程

sql server 利用存储过程http请求调用URL链接访问方法

帅比萌擦擦* 提交于 2019-12-10 15:30:19
sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Ole Automation Procedures', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ole Automation Procedures'; GO 开启权限配置 DECLARE @return_value int, @status int EXEC @return_value = [dbo].[P_HttpRequestData] @URL = N'https://test.GoldApi.com/Api/GetGoldSales', @status = @status OUTPUT SELECT @status as N'@status' 调用存储 USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[P_GetGoldSales] AS set nocount on set transaction isolation level read uncommitted set xact_abort on exec [P_HttpRequestData] 'https:/

SQL Server 存储过程的应用 创建带 Try Catch 的存储过程模板

a 夏天 提交于 2019-12-10 13:58:57
https://www.cnblogs.com/MuNet/archive/2013/02/27/5563411.html 1、创建带 Try Catch 的存储过程模板 Copy下面的代码,然后新建查询,就可以写sql语句,执行完后,一个你自己的存储过程就建立好了! SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- AUTHOR: -- DESCRIBE: -- ============================================= CREATE PROCEDURE [dbo].[UP_InsertJHBData] --存储过程名 @CustomerName VARCHAR(50) --参数 AS BEGIN SET NOCOUNT ON --提高性能的,必须要有 DECLARE @Now DATETIME SET @Now = GETDATE() --所有操作保证统一时间 BEGIN TRY --在这里写SQL END TRY BEGIN CATCH DECLARE @ErrorMessage NVARCHAR(4000) ; DECLARE @ErrorSeverity INT ; DECLARE

mysql存储过程procedure

﹥>﹥吖頭↗ 提交于 2019-12-10 08:26:06
1、 存储过程的概念: 所谓的存储过程就是存储在数据库当中的可以执行特定工作(查询和更新)的一组SQL代码的程序段。 2、 存储过程的优点: (1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 (2)当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 (3)存储过程可以重复使用,可减少数据库开发人员的工作量。 (4)安全性高,可设定只有某些用户才具有对指定存储过程的使用权。 3、 关于 MySQL 的存储过程 存储过程是数据库存储的一个重要的功能,但是 MySQL 在 5.0 以前并不支持存储过程,这使得 MySQL 在应用上大打折扣。好在 MySQL 5.0 终于开始已经支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。 4、 mysql存储过程的创建: 格式: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body (1)默认地,子程序与当前数据库关联。要明确地把子程序与一个给定数据库关联起来

PL/SQL学习笔记六:存储函数和过程

萝らか妹 提交于 2019-12-10 06:59:04
ORACLE提供可以把PL/SQL程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块。均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。 创建函数 1、建立内嵌函数 语法如下: CREATE [OR PEPLACE] FUNCTION function_name [(argment[{IN | IN OUT}] type, argment[{IN | OUT | IN OUT}] type)] RETURN return_type {IS | AS} <类型.变量的说明> BEGIN FUNCTION_body EXCEPTION 其它语句 END; 2、内嵌函数的调用 函数声明时所定义的参数称为刑事参数,应用程序调用时为函数传递的参数称为实际参数。应用程序在调用函数时,可以使用以下三种方法向函数传递参数: 第一种参数传递格式称为位置表示法,格式为:argument_value1[,argument_value2 ...]; 第二种参数传递格式称为位置表示法,格式为:argument => parameter[...],其中argument为形式参数,它必须与函数定义时所声明的形式参数名称相同

数据库理论知识

这一生的挚爱 提交于 2019-12-10 05:14:55
SQL语言包括 数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等 数据操纵:Select ,insert,update,delete, 数据控制:grant,revoke 完整性约束 : 实体完整性、参照完整性、用户定义完整性 什么是第三范式 1NF:每个属性是不可分的。 2NF:若关系R是1NF,且每个非主属性都 完全 函数依赖于R的键。 3NF:若R是2NF,且它的任何非键属性都 不传递依赖 于任何候选键。 事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。 事务性质: 原子性。即不可分割性,事务要么全部被执行,要么就全部不被执行。 一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务, 持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存。 存储过程 :存储过程就是编译好了的一些sql语句。 1.重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。 2.提高性能。存储过程在创建的时候在进行了编译,将来使用的时候不再重新翻译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。 3.减少网络流量。存储过程位于服务器上

存储引擎 存储过程 存储函数

半腔热情 提交于 2019-12-10 04:16:46
一、存储引擎就是指表的类型。数据库引擎决定了表在计算机中的存储方式。 1、查看mysql数据库支持的存储引擎 mysql> show engines \G \G 数据成列显示,这时不用写分号了 或者 mysql> show variables like 'have%'; 2、查询默认的存储引擎 mysql> show variables like 'storage_engine'; 二、InnoDB存储引擎 优点:支持事物处理,支持外键,支持崩溃修复能力和并发控制,实现事务的提交和回滚。 缺点:读写效率稍差,占用的空间相对比较大 三、MyISAM存储引擎 优点:占用空间小,处理速度快 缺点:不支持事务的完整性和并发性。 四、MEMORY存储引擎 表的所有数据存储在内存上,内存出现异常会影响数据完整性。 优点:在内存中,处理速度非常快 缺点:安全性不高,数据易丢失,生命周期短,一般都是一次性。 开始存储过程之前还有一个工作要做,就是修改MySql的结束符,系统默认的是‘;’不过要建立存储过程,再用这个默认的分号就不方便了,把结束符改为‘//’,操作起来很简单,命令:DELIMITER // ,搞定; 好了,建立第一个存储过程: CREATE PROCEDURE p1 () SELECT * FROM t; // SQL语句存储过程的第一部分是 “CREATE PROCEDURE”

【基本优化实践】【1.6】在sql server修改且移动数据库文件位置

余生颓废 提交于 2019-12-09 21:34:33
在master数据库中,SQL Server提供系统扩展的存储过程,其中有一些存储过程的命名以xp_开头,用于处理操作系统的文件。 一,判断文件是否存在 存储过程sys.xp_fileexist 用于判断文件是否存在,参数是文件(file)的路径或目录的路径: exec master.sys.xp_fileexist 'D:\test.txt' 该存储过程返回的结果集有一行数据,三个字段,如下图: 二,创建子目录 存储过程 sys.xp_create_subdir 用于创建子目录,参数是子目录的路径: exec master.sys.xp_create_subdir 'D:\test' 执行存储过程,系统返回消息:Command(s) completed successfully,说明子目录创建成功。 三,查看子目录结构 存储过程sys.xp_dirtree 用于显示当前目录的子目录,该存储过程有三个参数: directory:第一个参数是要查询的目录; depth :第二个参数是要显示的子目录的深度,默认值是0,表示显示所有的子目录; file :第三个参数是bool类型,指定是否显示子目录中的文件(file),默认值是0,表示不显示任何文件,只显示子目录(directory); exec master.sys.xp_dirtree 'D:\data'

mysql存储过程整理

£可爱£侵袭症+ 提交于 2019-12-09 18:51:08
1、存储过程的简介: 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 2、存储过程的有点: (1).存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).存储过程能实现较快的执行速度。如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction

SQL SERVER的存储过程案例

泪湿孤枕 提交于 2019-12-09 14:32:01
CREATE procedure [dbo].[pro_get_All] /*定义存储过程名称*/ @beginTime datetime, /*定义存储过程变量,变量名以@大头 变量类型放在变量名之后,以空格区别,多个变量以,分割*/ @endTime datetime as /*as之后的内容是存储过程的具体语句*/ select * from ( select *,cast('1' as varchar) as 'num' from dbo.数据记录1 union all select *,cast('2' as varchar) as 'num' from dbo.数据记录2 union all select *,cast('3' as varchar) as 'num' from dbo.数据记录3 union all select *,cast('4' as varchar) as 'num' from dbo.数据记录4 union all select *,cast('5' as varchar) as 'num' from dbo.数据记录5 union all select *,cast('6' as varchar) as 'num' from dbo.数据记录6 union all select *,cast('7' as varchar) as 'num'

Hibernate原生SQL查询

夙愿已清 提交于 2019-12-09 12:05:02
Hibernate除了支持HQL查询外,还支持原生SQL查询。 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。 执行SQL查询步骤如下: 1、获取Hibernate Session对象 2、编写SQL语句 3、通过Session的createSQLQuery方法创建查询对象 4、调用SQLQuery对象的addScalar()或addEntity()方法将选出的结果与标量值或实体进行关联,分别用于进行标量查询或实体查询 5、如果SQL语句包含参数,调用Query的setXxxx方法为参数赋值 6、调用Query的list方法返回查询的结果集 一、标量查询 最基本的SQL查询就是获得一个标量的列表: session.createSQLQuery("select * from person_inf").list(); session.createSQLQuery("select id,name,age from person_inf").list(); 它们都将返回一个Object数组组成的List,数组每个元素都是person_inf表的一个字段值。Hibernate会使用ResultSetMetadata来判定返回的标量值的实际顺序和类型。