dkfr.net
当前位置:首页 >> 如何对存储过程里的临时表插入多条记录,查询时一... >>

如何对存储过程里的临时表插入多条记录,查询时一...

储存过程是数据库中的过程,在Delphi中只能是调用,不可能在Delphi中去操作其内部的临时表。但你可以通过传入一定的参数,然后返回你需要的结果集,这个结果集作为数据源可以显示到报表。你说可以插入一条记录,不知你是如何用储存过程的。

create table #临时表( 列 类型, ... ) 循环 insert into #临时表(列...,) values(值....) 循环 select * from #临时表

有两种方式(环境MSSQL) 1 先把临时表创建好,用insert into #tmp exec myProc 2 不建临时表,用openrowset select * into # from openrowset('SQLOLEDB','AVAST';'sa';'lichao','exec Northwind..myProc')--存储过程钱加上数据库名

在存储过程中,可以使用常规的语句对临时表进行操作。例如 select * from #wareid select * from #wareid where vendorno=……

插入的方式有多种,下面介绍常用的2种: 先不声明,直接在SQL中插入,SQL 如下: select test into #Temp from table 查询完成,记得drop table #temp 第二中,先创建临时表,SQL 如下: create table #Temp (Test nvarchar(50)) insert int...

见图,直接不能回复

if exists(select 0 from tab_1)begin insert into tab_2 (col1,col2,col3....) select col1,col2,col3.... from tab_1end

比如临时表叫temp,你要查询的语句为select * from 表名 where id=1。 如果temp表存在: insert into temp select * from 表名 where id=1;commit;如果temp表不存在 create table temp as insert into temp select * from 表名 where id=1;注意...

DBMS_OUTPUT.PUT_LINE就是用这个啊,将里面的参数设置为之前临时表记录的变量,就打印出来了啊

不知道楼主的需求如何 一般没必要创建临时表,处理数据后又它drop。 存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。 空表不会占很多资源。 我们就是这样做的。

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com