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

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

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

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

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

请看看如下的SQL create or replace procedure p_test_1 is begin insert into X2 (ID,FMModel,FName,FNuber,FUnit) select p.ID,p.FMModel,p.FName,p.FNuber,p.FUnit from X1 p; commit; end p_test_1; 希望能帮到你。

CREATE OR REPLACE PROCEDURE PRO_NAME AS BEGIN INSERT INTO TEMP_NAME SELECT A.ID AS ID, A.NAME AS NAME, B.PRICE AS PRICE2010, C.PRICE AS PRICE2011, D.PRICE AS PRICE2012 FROM FRUITS A, PRICE2010 B, PRICE2011 C, PRICE2012 D WHERE ...

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

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

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

可以使用如下方法: declare @sql varchar(2000)beginset @sql='select * into #tmp from student'print @sqlexec (@sql)其中#tmp就是临时表,整段代码的意思就是将student表的数据全部插入到#tmp这个临时表中。

不知道你全部字段匹配还是匹配某一字段,你给出的匹配是一个模糊的概念,请根据实际来描述。

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