pb 中使用临时表解决办法

pb 中使用临时表
SQL SERVER 怎么在PB代码中
创建临时表,
给临时表插入数据,
读取临时表数据,
清空临时表。

就像TMP数据库中的临时表一样、

------解决方案--------------------
临时表只存在于当前会话中,
可以用dynamic SQL 1 创建。
创建成功后,就像使用正常的表一样使用。
不过用临时表创建DW 要麻烦些,但是可以用 syntaxfromsql() 方法处理。
------解决方案--------------------
1.可在pb里选择创建临时的数据窗口
2.可在sqlserver数据库里创建以##table开头的表
3.oracle数据库可创建临时表
------解决方案--------------------
创建临时表,
(1) create table #t (a int, b int) //创建包含a、b两列的临时表#t
(2) select a, b into #t from tb where 1 = 2 //创建包含a、b两列的临时表,其中a、b的类型与表tb中a、b列的类型一致

给临时表插入数据,
(1) insert into #t select 1, 2 //直接插入,跟非临时表的插入一致
(2) select a, b into #t from tb where a = 1 //创建包含a、b两列的临时表,其中a、b的类型与表tb中a、b列的类型一致;创建的同时在临时表#t中插入表tb中a列为1的数据

读取临时表数据,
select * from #t //与非临时表的读取一致

清空临时表
delete from #t 或者 truncate table #t //与非临时表的清空一致


------解决方案--------------------
动态sql 语句
    string sql
    sql="create table #table"&
        +"(id int not null,"&
        +"name varchar(20) not null)"
   exec immediate :sql using sqlca;