• 一个SQL存储过程面试题(比较简单)



    三个月前刚毕业的时候,听到存储过程就头疼。


    写一个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;
  • 相关阅读:
    v$session,v$session_wait,v$session_wait_history,v$active_session_history
    ORACLE 12C PDB部分功能测试
    关于A基金和B基金的了解
    insert /*+ APPEND */
    使用ADRCI (ADR Command Interpreter) 工具查看Oracle alert警告日志
    Linux┊详解udev
    Cache Fusion
    ORACLE的临时表
    【转】k8s集群自定义clusterRole样例
    prometheus监控java项目(jvm等):k8s外、k8s内
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247267.html
Copyright © 2020-2023  润新知