當前位置:首頁 » 存儲配置 » sql存儲過程插入表

sql存儲過程插入表

發布時間: 2022-08-09 02:27:22

sql存儲過程返回的兩個結果集,怎麼插入到臨時表

在接收結果的過程或代碼中循環讀取結果數據,再插入即可,又或者你可以在將要返回結果集的存儲過程中直接插入臨時表

Ⅱ sql server如何用存儲過程把多個表的數據添加到一張表中,表欄位都很相近,我用臨時表實現了操作,但是

樓主
可以把需求說清楚點
表名是固定的嗎
要傳什麼變數
然後欄位是哪些
如果表名不變
欄位類似的話
我幫你寫個模型
create
proc
usp_tableall
as
insert
into
表名
--這里表要存在
存儲你處理的數據
否則就用select
*
into
from
tb
的格式
select
col1,col2
from
a
union
all
select
col1,col2
from
b
……
go
exec
usp_tableall

Ⅲ SQL2005 使用存儲過程,往表裡插入數據怎麼寫

create procere insert_activeinfo
as
begin
insert into insert_activeinfo(activeid,activename,activedate,usertypeid) values(..)
end
go

--這樣就可以啊,當然你還可以把要插入的值通過參數傳進來,譬如:
create procere insert_activeinfo(@activeid int,@activename varchar(10),@activedate datetime,@usertypeid int)
as
begin
insert into activeinfo(activeid,activename,activedate,usertypeid) values(@activeid,@activename,@activedate,@usertypeid)
end
go

Ⅳ SQL 編寫存儲過程問題(插入臨時表) 條件: into #table 當時間=a時,插入1,2,3 當時間=b時,插入234

請參閱以下腳本

createproc[存儲過程名稱]
as
begin
if[時間]='a'
begin
insertinto#table([列名])values(1),(2),(3)
end
if[時間]='b'
begin
insertinto#table([列名])values(2),(3),(4)
end
end

請採納! 如有疑問,請及時溝通!

Ⅳ SQL server 能否將存儲過程的結果插入臨時表(列數不固定)

當前的做法是不行的:
1、語法是錯誤的。
-- INSERT INTO EXEC sp,這個語法肯定遇到報錯了。
-- 要想作類似操作,至少也要將sp定義成「表值函數」才能將返回的結果值作直接調用

2、PIVOT出來的結果列,未必與預建的表,欄位上匹配。

方案:
》在動態語句中,插入臨時表。如果是sp中插入,則應為永久臨時表 -- 否則調用者訪問時已經被自動清除了。

Ⅵ SQL 將存儲過程的數據插入臨時表的語法

insert
*
#temp
select
A,B
from
(exec
存儲過程XXXXX)
#temp
就是你要的臨時表
直接讀取幾個列是不實際的,除非你修改存儲過程

Ⅶ sql存儲過程給兩表插入數據的問題

給存儲過程中加一些返回值或者把每一步結果插入到一個表中,然後在C#中執行一次看看記錄
一步步調試

Ⅷ 怎麼把下面的的sql語句查詢出來的結果插入到一張新表中去 求大神幫忙

@SQL這個是你生成的sql語句,你在你的sql中增加一個into table,這樣能不能滿足你的需求呢?

關於select into語句我就不多說了,給你參考鏈接,你看看是不是你要的

http://www.w3school.com.cn/sql/sql_select_into.asp

還有就是,你也可以將insert 加到你的@SQL語句的前面直接執行,是不是也行呢?

比如:

現有的@SQL = 'SELECT NAME FROM TABLE UNION ALL SELECT ''ZHANGSNA'' '

你修改成@SQL2 = 'INSERT INTO TABLE2(NAME) ' + @SQL,這樣是不是也行?

我們既然寫存儲過程了,而且目的也只是唯一的,那麼我們就可以考慮直接將所有步驟放在存儲過程中來處理,沒必要再拿出來單獨考慮怎麼用

另外給你一個方式,你看看用得上用不上

--表

create table test

(

name varchar(50)

)

go


--動態sql添加數據

insert into test

exec('select 1')

go


--存儲過程

create proc protest

as

declare @sql nvarchar(100) = ''

declare @s int = 1

while(@s < 5)

begin

select @sql += 'select ' + cast(@s as varchar(20)) + ' union all '

set @s += 1

end

select @sql += 'select 999'

exec(@sql)

go


--存儲過程添加數據

insert into test

exec protest

Ⅸ sql server 如何利用 存儲過程 建立一個新表,並向其中插入來自查詢的數據

直接insert into ... select ... 就行了。
例如,從A、B查詢結果,插入到C表:
insert into C(C1,C2)
select A.C1, B.C2 from A inner join B
on A.ID = B.ID

Ⅹ SQL存儲過程中如何插入使用臨時表

在存儲過程中 是不可以創建臨時表的...
建議使用表變數代替臨時表進行操作 或者在存儲過程外面建好臨時表

祝你好運

熱點內容
製作產業項目視頻腳本 發布:2025-01-11 04:10:14 瀏覽:184
編程是天賦嗎 發布:2025-01-11 04:10:04 瀏覽:256
軟體編程培訓學院 發布:2025-01-11 04:00:18 瀏覽:845
路虎攬運配置怎麼查詢 發布:2025-01-11 03:42:51 瀏覽:393
仿站源碼 發布:2025-01-11 03:42:05 瀏覽:40
騰訊的雲伺服器 發布:2025-01-11 03:40:47 瀏覽:569
百分之十的演算法 發布:2025-01-11 03:34:30 瀏覽:642
java16進制tostring 發布:2025-01-11 03:24:21 瀏覽:721
mql4c語言 發布:2025-01-11 03:24:20 瀏覽:255
科爾訪問蘇聯 發布:2025-01-11 03:15:47 瀏覽:331