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')--存储过程钱加上数据库名

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=……

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

因为在编译前oracle会检查test表是否存在,如果不存在就提示无视图。 建议先重建一下这个表,每次操作前先执行drop table操作,然后在执行create table操作,这样就能通过编译。 代码如下: CREATE OR REPLACE PROCEDURE UP_TEST(STRBEGIN VARCH...

请看看如下的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 procedure P as if object_id('Tempdb..##') is not null drop table ## create table ##(ID int) go exec p insert ## select 1 select * from ##

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