如何用PLSQL创建一个临时表

如何用PLSQL创建一个临时表,第1张

方法一:例子,过程里建临时表的,并用游标返回临时表中数据: create or replace procedure ttable(i_cursor out ysqaboutreportt_cursor) is strCreateTable varchar2(500); vCount int; begin select count() into vCount from user_all_tables where lower(TABLE_NAME) = 'mytemp'; if vCount=0 then --EXECUTE IMMEDIATE ' drop table myTemp'; strCreateTable:='CREATE GLOBAL TEMPORARY TABLE myTemp (id VARCHAR(10),name varchar2(50)) ON COMMIT PRESERVE ROWS '; Execute immediate strCreateTable;--建表 end if; insert into mytemp values('1','sandy'); insert into mytemp values('2','may'); open i_cursor for select from mytemp; commit; end ttable;方法二:create procedure pro as str varchar2(100); begin str:='GLOBAL TEMPORARY TABLE myTemp ON COMMIT PRESERVE ROWS as select from yourtable where 1=2'; Execute immediate str;--要有此权限,grant create any table to 当前用户 end;

1、建立数据库,并设置默认编码,sql如下:

create database mytemp default character set utf8;

2、删除数据库,sql如下:

drop database if exists mytemp;

有问题欢迎提问,请采纳!

sql = "CREATE TABLE [dbo][tmp1] ("&_

"[id] [int] IDENTITY (1, 1) NOT NULL ,"&_

"[title] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,"&_

"[url] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL "&_

")"

connexecute(sql)

responsewrite "ok"

这是建表 *** 作,完事后,直接可以写入值 *** 作

建表权限你得有,不然也没用

临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除。

临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号(#)打头;它们仅对当前的用户连接是可见的;当用户从SQLServer实例断开连接时被删除。全局临时表的名称以两个数字符号(##)打头,创建后对任何用户都是可见的,当所有引用该表的用户从SQLServer断开连接时被删除。

例如,如果创建了employees表,则任何在数据库中有使用该表的安全权限的用户都可以使用该表,除非已将其删除。如果数据库会话创建了本地临时表#employees,则仅会话可以使用该表,会话断开连接后就将该表删除。如果创建了##employees全局临时表,则数据库中的任何用户均可使用该表。如果该表在您创建后没有其他用户使用,则当您断开连接时该表删除。如果您创建该表后另一个用户在使用该表,则SQLServer将在您断开连接并且所有其他会话不再使用该表时将其删除。

以上就是关于如何用PL/SQL创建一个临时表全部的内容,包括:如何用PL/SQL创建一个临时表、sql怎么建临时数据库、asp 如何 创建临时表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9786969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存