需要使用ibatis创建临时表

时间:2018-06-19 05:10:30

标签: c# ibatis

我的项目有一些创建临时表的要求。我需要在临时表上执行一些操作,如: -

  1. 创建表格
  2. 插入一些数据
  3. 对该数据执行一些操作并更新。
  4. 从临时表中获取数据。
  5. 我能够在单个语句中编写所有查询时执行所有操作,我的sql映射器文件如下所示: -

    <?xml version="1.0" encoding="utf-8" ?>
    <sqlMap namespace="xxx" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <select id="GetTempTableData" resultClass="xxx" parameterClass="System.String">
         Create table ##TestTable(MatterID varchar(20), ShortDesc varchar(100))
         Insert into ##TestTable values('1001-101','ABC')
         Insert into ##TestTable values('1001-102','XYZ')
         Select * from ##TestTable
     </select>  
    </sqlMap>
    

    但是我要求将所有查询拆分成单独的部分,见下文: -

    <?xml version="1.0" encoding="utf-8" ?>
    <sqlMap namespace="xxx" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
     <select id="GetTempTableData" resultClass="xxx" parameterClass="System.String">
            Create table ##TestTable(MatterID varchar(20), ShortDesc varchar(100))
     </select>
     <insert id="InsertIntoTempTable" resultClass="xxx" parameterClass="System.String">
            Insert into ##TestTable values('1001-101','ABC')
            Insert into ##TestTable values('1001-102','XYZ')
     </insert>
     <select id="SelectFromTempTable" resultClass="xxx" parameterClass="System.String">
            Select * from ##TestTable
     </select>  
    </sqlMap>
    

    但在第二种方法中我得到异常“无效的对象名称#TestTable”。 有人可以建议我,在这种情况下该怎么办? 快速解决方案将受到高度赞赏。

    提前致谢

0 个答案:

没有答案