将数据插入临时表会导致错误

时间:2016-03-12 09:06:06

标签: sql sql-server-2008

我想将数据插入到temp表中,但它对我不起作用并导致错误:

  

无效的对象名称'#storedTemptable'。

查询如下

INSERT INTO #storedTemptable --(Emp_mkey, data, cnt) 
    SELECT DISTINCT
        emp_mkey, data, COUNT(*) cnt 
    FROM 
        (SELECT * 
         FROM Emp_mon_day 
         WHERE emp_mkey IN (SELECT emp_card_no 
                            FROM emp_mst 
                            WHERE comp_mkey IN (7, 110)) 
           AND Year = 2016 
           AND month = 2) s
unpivot
(
    data for day in ([Day1],[Day2],[Day3],[Day4],[Day5],[Day6],[Day7],[Day8],[Day9],[Day10],[Day11],[Day12],
                [Day13],[Day14],[Day15],[Day16],[Day17],[Day18],[Day19],[Day20],[Day21],[Day22],[Day23],
                [Day24],[Day25],[Day26],[Day27],[Day28],[Day29],[Day30]) 
) up 
GROUP BY 
    data, emp_mkey, comp_mkey

我不知道原因是什么,我尝试过但没有成功。

我正在使用SQL Server 2008。

1 个答案:

答案 0 :(得分:1)

试试这个:

因为错误说'#storedTemptable'不存在。意味着'#storedTemptable'表未创建,您无法直接插入。这里我创建了'#storedTemptable'表运行时。

#include <string>
#include <iostream>

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>

namespace pt = boost::property_tree;

int main()
{
  std::string filename("test.xml");

  // Create empty property tree object
  pt::ptree tree;

  // Parse the XML into the property tree.
  pt::read_xml(filename, tree);

  // Use `get_child` to find the node containing the books and
  // iterate over its children.
  // `BOOST_FOREACH()` would also work.
  for (const auto &book : tree.get_child("info.books"))
    std::cout << book.second.data() << '\n';

  return 0;
}