如何代码创建临时表?原创
金蝶云社区-啦拉
啦拉
76人赞赏了该文章 1317次浏览 未经作者许可,禁止转载编辑于2023年04月07日 15:06:47

// 创建临时表

            string tempTbName = AppServiceContext.DBService.CreateTemporaryTableName(this.Context);

            string strsql = "/*dialect*/create table " + tempTbName + " as select FRECINVBILLNO,FIVCODE,FBILLTYPENAME,FBILLNO from 临时表的模型表 where 1 <> 1";

// 临时表的模型表需要在BOS内绘制一个表模型,实际作用不为存储数据

            DBServiceHelper.Execute(this.Context, strsql);

            Dictionary<string, DbType> columnInfos = new Dictionary<string, DbType>();

            columnInfos.Add("字段1", DbType.String);

            columnInfos.Add("字段2", DbType.String);

            BulkInsertAdapter bulkInsertAdapter = new BulkInsertAdapter(base.Context, columnInfos, tempTbName, recDataTb.Rows.Count);

// recDataTb为数据 (DataTable)

            foreach (DataRow dc in recDataTb.Rows)

            {

                DataRow newRow = bulkInsertAdapter.NewRow;

                newRow["字段1"] = Convert.ToString(dc["字段1"]);

                newRow["字段2"] = Convert.ToString(dc["字段2"]);

                bulkInsertAdapter.Insert(newRow);

            }

            bulkInsertAdapter.Finish();

注意:BOS内绘制临时表模型

      ① 临时表实际作用不为存储数据,只为搭建一个表模型

      ② 表中的字段的创建,需要自行判断创建。依据为:后续sql查数的条件字段

      ③ 注意主键是否需要按照标准产品创建,即为FID,不需要的话,则指定某唯一的字段为主键


赞 76