1. MySQL里面sql语句调用存储过程,该如何写
这样:
CREATEPROCEDUREsp_add(a int, b int,outc int)
begin
set c=a+ b;
end;
调用过程:
call sp_add (1,2,@a);
select @a;
注意事项
存储过程(stored procere)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
存储过程分为系统存储过程和自定义存储过程。
系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不必在存储过程前加上数据库名,因为在创建一个新数据库时,系统存储过程在新的数据库中会自动创建。
自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功,并不能像函数那样被直接调用,只能利用execute来执行存储过程。
创建存储过程
SQL Server创建存储过程:
create procere 过程名
@parameter 参数类型
@parameter 参数类型
。。。
as
begin
end
执行存储过程:execute 过程名
2. sql数据库 编写存储过程
----创建存储过程GetCurrentDate
create proc GetCurrentDate
as
DECLARE @Date VARCHAR(20)
SET @Date=''
SELECT @Date=CONVERT(VARCHAR(4),DATEPART(YEAR,GETDATE()))
+'年'+CONVERT(VARCHAR(2),DATEPART(MONTH,GETDATE()))
+'月'+CONVERT(VARCHAR(2),DATEPART(DAY,GETDATE()))
+'日'
SELECT @Date AS '当前日期'
----执行存储过程:
exec GetCurrentDate
运行显示:
2011年12月7日
3. SQL Server数据库的存储过程
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
面试时被问:“请讲一下SQL Server数据库的存储过程”
数据库方面接触的比较浅,请高手解释一下“SQL Server数据库的存储过程”这个问题该怎么回答?非常感谢!
解析:
存储过程(Stored Procere)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
在SQL Server 的系列版本中存储过程分为两类:系统提供的存储过程和用户自定义存储过程。系统过程主要存储在master 数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为系统管理员管理SQL Server 提供支持。通过系统存储过程,MS SQL Server 中的许多管理性或信息性的活动(如了解数据库对象、数据库信息)都可以被顺利有效地完成。尽管这些系统存储过程被放在master 数据库中,但是仍可以在其它数据库中对其进行调用,在调用时不必在存储过程名前加上数据库名。而且当创建一个新数据库时,一些系统存储过程会在新数据库中被自动创建。用户自定义存储过程是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程。
4. sql server存储过程怎么写
创建过程
CREATE PROCEDURE p_1
AS
insert into ta ( col_max,col_min,col_avg)
select max(col1),min(col1),sum(col1)/count(1) from tb where id='Tetminal1 ;
GO
--------------------------------------------------------------------------------------------------------------------
创建作业,定时执行过程
1:在“对象资源管理器”中,连接到 SQL Server 数据库引擎实例,再展开该实例。
2.展开“SQL Server 代理”,创建一个新作业或右键单击一个现有作业,再单击“属性”。
3.在“作业属性”对话框中,单击“步骤”页,再单击“新建”。
4.在“新建作业步骤”对话框中,键入作业的“步骤名称”。
5. sql 存储过程语句编写
要到达你的要求,在存储过程中必须使用动态SQL语句。
一个简化的例子:
createprocereMyDynamicSQL
@tblwherenvarchar(200)--a==aora==xxx
as
begin
declare@sqlnvarchar(max)
--动态拼接sql语句
set@sql=N'select*from[表一]where'+@tblwhere
--执行
executesp_executesql@sql
end
6. SQL Server的存储过程怎么写
SQL server中如何存储:
首先准备数据,测试存储过程
use ssqadm;
创建测试books表
create table books_test ( book_id int identity(1,1) primary key,
book_name varchar(20),book_price float,book_auth varchar(10));
插入测试数据
insert into books_test (book_name,book_price,book_auth)values
('论语',25.6,'孔子'),
('天龙八部',25.6,'金庸'),
('雪山飞狐',32.7,'金庸'),
('平凡的世界',35.8,'路遥'),
('史记',54.8,'司马迁');
select * from books_test;*/
创建无参存储过程
if (exists (select * from sys.objects where name = 'getAllBooks'))
drop proc getAllBooks
go
create procere getAllBooks
as
begin
select * from books_test;
调用,执行存储过程
exec getAllBooks;
end
go
修改存储过程
alter procere getallbooks
as
select book_name from books_test;
修改存储过程的名称
sp_rename getallbooks,proc_get_allbooks;
go
exec proc_get_allbooks;
go
创建带参数的存储过程
use ssqadm
go
if (exists (select * from sys.objects where name = 'searchbooks'))
drop proc searchbooks
exec searchbooks
执行存储searchbooks得到如下结果:
go
create procere searchbooks (@bookid int)--括号里面是
as
begin
declare @book_id int;定义一个标量变量,只是保证存储过程的完整性,在本存储是多此一举的。
set @book_id = @bookid;
select* from books_test where book_id = @book_id;
end;
go
-- exec searchbooks
执行存储searchbooks得到如下结果:
创建带两个参数的存储过程
use ssqadm
go
if (exists (select * from sys.objects where name = 'book_test2'))
drop proc book_test2
exec book_test2
执行存储book_test2得到如下结果:
go
create procere book_test2
(@bookid int,@bookname varchar(20))括号里面是
as
begin
declare @book_id int;
定义一个标量变量,只是保证存储过程的完整性,在本存储是多此一举的。
declare @book_name varchar(20);
set @book_id = @bookid;
set @book_name = @bookname;
select* from books_test where book_id =
@book_id and book_name = @book_name;
end;
go
exec book_test2
(6)sql数据库存储过程怎么写扩展阅读:
SQL Server中查询存储命令子句:
USE [SSQADM]
Use 是跳转到哪个数据库,对这个数据库进行操作。
GO
GO向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号,相当于提交上面的SQL语句。
GO是把t-sql语句分批次执行
(一步成功了才会执行下一步,即一步一个GO)
/****** Object: StoredProcere [dbo].[PROC_four_five_hr]
Script Date: 07/30/2018 13:44:55 ******/
SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ON
7. 用sql写一个简单的存储过程语句
常用语句对照(Access数据库):文本型:text
长整型:integer
双精度型:float
货币型:money
日期型:date
备注型:memo
OLE型:general
1.查询数据
例:查询zt_data表中的zt_id字段,zt_name字段
select [zt_id],[zt_name] from zt_data
2.查询指定条件的数据
例:查询zt_data表中zt_id字段小于100的数据的zt_id字段,zt_name字段
select [zt_id],[zt_name] from zt_data where [zt_id] < 100
例:查询zt_data表中前100条数据的zt_id字段,zt_name字段
select top 100 [zt_id],[zt_name] from zt_data
3.按照一定排序查询
例:按照zt_id顺序查询zt_data表中的zt_id字段,zt_name字段
select [zt_id],[zt_name] from zt_data order by [zt_id] asc
例:按照zt_id倒序查询zt_data表中的zt_id字段,zt_name字段
select [zt_id],[zt_name] from zt_data order by [zt_id] desc
4.添加数据
例:在zt_data表中增加一条记录,其中zt_name字段值为名称1,zt_enname字段值为名称2
insert into zt_data([zt_name],[zt_enname])values('名称1','名称2')
5.删除数据
例:删除zt_data表中zt_id的值为1的数据
delete from zt_data where [zt_id]=1
6.修改数据
例:修改zt_data中zt_id为1的数据的zt_name字段值为 新名称
update zt_data set [zt_name]='新名称' where [zt_id]=1
8. 如何编写数据库存储过程
存储过程代码参考如下:
create
or
replace
procere
bak_pay_list_xxx(local_net
in
varchar2,bak_month
in
varchar2,ret
out
varchar2)
is
ls_sql
varchar2(1024);
ls_sql_del
varchar2(1024);
begin
...
end
bak_pay_list_xxx;
9. 数据库怎么编写存储过程
SQL Server的语法:
create procere proc_name
(@para1 int)
as
sql-statement;
Mysql的语法:
create procere proc_name
(para1 int)
sql-statement;
上面的para1是参数,如果不需要可以省略括号里的内容
sql-statement是你存储过程要执行的语句,
如果还有什么疑问可以说出来
10. SQL的存储过程怎么写
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procere_Name, sysname, ProcereName> --这里是创建存储过程
-- Add the parameters for the stored procere here --这里是定义参数
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procere here --在这里写sql语句
SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END
GO
就这么简单,希望你能看懂