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

  • 相关阅读:
    B/S学习总结
    鶴山 李正浩 博士(探访墓所)
    毕业工作五年的总结和感悟(上)
    NSURLConnection经常使用的代理方法
    14.2 事务的ACID属性
    Search a 2D Matrix -- LeetCode
    ios开发之-继承的实现运用
    【Android】读取sdcard上的图片
    BZOJ 2820 YY的GCD 莫比乌斯反演
    linux写环境变量对字符转义
  • 原文地址:https://www.cnblogs.com/yachao1120/p/10402478.html
Copyright © 2011-2022 走看看