三个月前刚毕业的时候,听到存储过程就头疼。
写一个SQL存储过程,建立一个表USER 字段是姓名,年龄,职位,权限,然后向里面插入6条数据,然后查询出年龄大于18的所有信息。
下面是答案:
复制代码
--这是建立表以及插入数据
use pubs
go
create table users(
Name varchar(20),
Age int,
Position varchar(20),
quanxian varchar(20)
)
Insert into users values('111',11,'11111','1111111');
Insert into users values('112',12,'11112','1111112');
Insert into users values('113',13,'11113','1111113');
Insert into users values('114',14,'11114','1111114');
Insert into users values('115',15,'11115','1111115');
Insert into users values('116',19,'11116','1111116');
复制代码
下面是建立存储过程:(sql server 2005)
复制代码
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
--这是数据库中的标准写法,当然你也可以不需要这么写。
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[selectUser]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
select * from users where age>18
END
复制代码
你也可以如下面这么写:
复制代码
CREATE PROCEDURE selectUser
AS
BEGIN
SELECT * FROM users WHERE age>15
END
--下面是执行存储过程的语句
exec selectUser
--标准的写法是:
USE [pubs]
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[selectUser]
SELECT 'Return Value' = @return_value
GO
复制代码
删除存储过程的语句:
复制代码
--标准写法
USE [pubs]
GO
/****** 对象: StoredProcedure [dbo].[selectUser] 脚本日期: 07/17/2011 16:10:44 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[selectUser]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[selectUser]
--不太标准的写法(一般自己写存储过程,谁那么标准啊,直接DROP就得了)
DROP PROCEDURE selectUser;
相关文章
- 11-08分享一个自动生成单据的存储过程
- 11-08Sql Service 存储过程、触发器
- 11-08sql 高性能存储过程分页
- 11-08PL/SQL 存储函数和过程
- 11-08sql 语句随机时间存储过程
- 11-08SQL存储过程详解
- 11-08第九题:【数据结构】【微软面试题】假设我们有一个队列 我们需要快速的找到里面存储的最大值 该怎么做?...
- 11-08Sql存储过程
- 11-08SQL存储过程基于字段名传入的字符串拼接.
- 11-08SQL 存储过程 传入数组参数