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

  • 相关阅读:
    Ajax 异步请求返回集合遍历问题
    JS 类数组,字符串,转换成数组的方法
    laravel、TP、YII三个框架的优缺点对比
    纵深防御
    渗透测试小结
    常见的设计模式
    CDN简介
    WAF小介
    分布式事务及其常见的解决方案
    redis主从复制
  • 原文地址:https://www.cnblogs.com/pang572936554/p/6771349.html
Copyright © 2011-2022 走看看