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

  • 相关阅读:
    1388:Lake Counting
    1253 Dungeon Master
    Ubuntu18.04下可以完美运行Quake3 Arena
    Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录
    ROM后缀含义
    Ubuntu18.04下的模拟神器RetroArch
    廉价的SUP掌机拆解
    Python3连接MySQL
    Ubuntu18.04的网络管理netplan和防火墙ufw
    Ubuntu18.04命令行连接WiFi
  • 原文地址:https://www.cnblogs.com/yachao1120/p/10402478.html
Copyright © 2011-2022 走看看