一個(gè)SQL存儲(chǔ)過程面試題
問題:寫一個(gè)SQL存儲(chǔ)過程,建立一個(gè)表USER 字段是姓名,年齡,職位,權(quán)限,然后向里面插入6條數(shù)據(jù),然后查詢出年齡大于18的所有信息。
答案:
--建立表以及插入數(shù)據(jù)
- 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');
建立存儲(chǔ)過程:(sql server 2005)
- set ANSI_NULLS ON
- set QUOTED_IDENTIFIER ON
- go
--這是數(shù)據(jù)庫中的標(biāo)準(zhǔn)寫法,當(dāng)然你也可以不需要這么寫。
- -- =============================================
- -- 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
-執(zhí)行存儲(chǔ)過程
- exec selectUser
--標(biāo)準(zhǔn)的寫法是:
- USE [pubs]
- GO
- DECLARE @return_value int
- EXEC @return_value = [dbo].[selectUser]
- SELECT 'Return Value' = @return_value
- GO
刪除存儲(chǔ)過程:
--標(biāo)準(zhǔn)寫法
- USE [pubs]
- GO
- /****** 對(duì)象: 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]
--不太標(biāo)準(zhǔn)的寫法
- DROP PROCEDURE selectUser;
關(guān)于SQL存儲(chǔ)過程就介紹到這里了,相信通過這個(gè)題,大家會(huì)對(duì)SQL存儲(chǔ)過程有更深一步的理解。
【編輯推薦】