SQL储存过程

基本语法

创建存储过程

create procedure sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

以上格式还可以简写成:

create proc sp_name

@[参数名] [类型],@[参数名] [类型]

as

begin

.........

end

注:“sp_name”为需要创建的存储过程的名字,该名字不可以以阿拉伯数字开头

调用存储:exec sp_name [参数名]

删除存储:drop procedure sp_name(不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程)

其他常用数据

1.show procedure status显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等

2.show create procedure sp_name显示某一个mysql存储过程的详细信息

3、exec sp_helptext sp_name显示你这个sp_name这个对象创建文本

时间: 2024-07-30 19:16:01

SQL储存过程的相关文章

sql储存过程in(多个参数)

首先要创建一个截取字符串的函数 函数SqlitIn的第一个参数是储存过程要in的字符串,第二个参数是分隔符 1 CREATE function [dbo].[SplitIn](@c varchar(100),@split varchar(2)) 2 returns @t table(col varchar(20)) 3 as 4 begin 5 while(charindex(@split,@c)<>0) 6 begin 7 insert @t(col)values (substring(@c

sql 储存过程的使用

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 -<span style="background-color: rgb(255, 255, 0);">-获取所有数据 根据自定义函数传人类型id返回类型名称</span> USE [Cloths] GO /****** Object:  StoredProcedure [dbo].[Proc_all]    Script Date: 05/23/2014 12:10:37 ******/ SE

关于SQL储存过程中输出多行数据

declare @num1 int           --为符合条件的总行数 select @num1=COUNT(1) from cardInfo where openDate between @date1 and @date2 [email protected] 和 @date2 为开始时间到结束时间,可以理解一个条件 while(@num1<>0) --和下面的[email protected]=1形成循环的次数begin print @num1                    

【转】xp_dirtree储存过程漏洞

sql server 2000漏洞一直很多前段时间我自己的服务器就出现了一个sql的临时储存过程漏洞漏洞扩展:xp_dirtree储存过程 事前:最近发现一个漏洞是sql服务器造成的前几天正好没有什么事情,就用阿d的sql注入工具对自己服务器的网站进行注入,偶然发现了使用mssql的网站浸染可以利用sql注入的形式得到整个服务器上所有目录(我的服务器作了安全设置的)依然可以看见,然后在服务器上安装了一个抓包工具对sql server进行抓包发现,使用工具连接sql漏洞xp_dirtree读取目录

SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数

-- SQL SERVER 判断是否存在某个触发器.储存过程 -- 判断储存过程,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE name='procedurename' AND type='P')) DROP PROCEDURE procedurename -- 判断触发器,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE id=object_id(N'[dbo].[triggername]')

[SQL Server]储存过程中使用临时表循环操作数据

本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd 由于工作原因,到目前为此已有一年多没有写SQL Server的储存过程了,已有些生疏.日前工作中有个表的数据需要定时更新,翻了一下以前写的储存过程,在此记录一下. 需求是这样的: 有两张表     1.博主表: Blogger ,2.博主对应的文章表: BlogForBlogger 文章表的数据由服务端定时获取,博主表有个字段保存博主文章的总数量,所以这个字段要定时去更新. 实现:创建一个储存过

sql之储存过程与函数的区别

1.创建函数.查找函数 /*创建带参数的函数,返回单个*/ CREATE FUNCTION [dbo].[GETGrade](@userName nvarchar(10),@subject nvarchar(10)) returns nvarchar(10) as begin declare @grade nvarchar(10) if @userName='张三' set @grade=(select [source] from TestRows2Columns where [email pr

SQL获取所有数据库名、表名、储存过程以及参数列表

SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogin='1'表示帐户islogin='0'表示角色status='2'表示用户帐户status='0'表示糸统帐户2.获取所有数据库名:SELECT Name FROM Master..SysDatabases ORDER BY Name3.获取所有表名SELECT Name FROM Databas

SQL Server 储存过程的output 参数

要做的参数的回传一方面要做到有储存过程的配合,再一方面也要有调用方法的配合,也就是说错误的调用方法是没有办法把值回传的. 下面是例子 --1.储存过程方面的配合 create procedure dbo.usp_C @i as int output    ---**注意这里要用output 关键字**--- as begine set @i =100; end; -- 2.调用方面的配合 declare @j as int =1; exec dbo.usp_C @j output ;--**注意