PgSQl临时表的创建

时间:2022-04-08 12:14:52

创建前可先删除

drop table tmp0 

创建临时表

select * into temp table tmp0 from xxx create index idx_tmp0_inner_cd on tmp0(inner_cd);  

  查看临时表是否创建,返回0表示未创建,1为创建

select count(*) from pg_class where relname = 'tmp0' 

 

或者用下面,下面语句在pg和mysql中都适用

Create Table If Not Exists temp.MyTable(

xxx varchar (20) Primary key ,

thTime varchar (20) ,

name  varchar (20)

)

 同样可以用在删除表中:

DROP TABLE  If  Exists temp.mjp_temp_update_log

 

应用例子:

SELECT
	ids,
	code,
	 INTO TEMP TABLE tmp0
FROM
	TEMP .m_product_x
WHERE
	TEMP .m_product_x.ids = ''
GROUP BY
	TEMP .m_product_x.code,
	TEMP .m_product_x.ids;

CREATE INDEX idx_tmp0_inner_cd ON tmp0 (code);

SELECT
*
FROM
	TEMP .m_product
INNER JOIN tmp0 ON TEMP .m_product.code = tmp0.code
WHERE
	TEMP .m_product.ids = ''
ORDER BY
	tmp0.xx,
	tmp0.ss;

DROP TABLE tmp0;