zoukankan      html  css  js  c++  java
  • Sqlserver 实际开发中表变量的用法

    在实际的开发中,我们可能遇到的问题是,在一个存储过程里面,我们可能要返回多段sql的结果集,但是最终怎么把多个结果集合成一块呢,那么这个时候临时表变量就来了

    declare  @tmp table   --声明表变量
    (
    id int identity(1,1),    --字段 必须和插入表变量里的数量一一对应
    Name varchar(60),
    [Description] varchar(60),
    Category varchar(60)
    )
    insert @tmp
         select Book.Name,Book.[Description],Book.Category from Book
    select * from  @tmp

    这是正常的sql写法,注意的是: select 到from中间的字段一定要和表变量里的字段一样,顺序,数量一一对应

    下面是存储过程的写法:

    create  proc P_getSelect
    as
    begin
    declare  @tmp table  --声明表变量
    (
    id int identity(1,1),
    Name varchar(60),
    [Description] varchar(60),
    Category varchar(60)
    )
    insert @tmp
         select Book.Name,Book.[Description],Book.Category from Book

    declare  @tmp2 table
    (
    id int identity(1,1),
    Name varchar(60),
    [Description] varchar(60),
    Category varchar(60)
    )
    insert @tmp2     --声明表变量2   这里为了方便  我把一个表的数据分别放到两个表变量里了
         select Book.Name,Book.[Description],Book.Category from Book
         select t.*,tt.* from @tmp t ,@tmp2 tt

    end

    exec P_getSelect

  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/pang572936554/p/6771349.html
Copyright © 2011-2022 走看看