久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

截斷表然后將數據插入同一個表只插入 1 條記錄

Truncate table then insert data into same table only inserts 1 record(截斷表然后將數據插入同一個表只插入 1 條記錄)
本文介紹了截斷表然后將數據插入同一個表只插入 1 條記錄的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

有誰知道我在這里做錯了什么,我有一個從遠程來源獲取貨幣數據的網頁,我獲取數據并通過存儲過程將其插入到 sql 數據庫中.如果我將 truncate 放在 insert 語句的前面,它會截斷表并插入最后一條記錄.如果我刪除截斷,它會插入所有記錄.

Does anyone know what i'm doing wrong here, I have a webpage that gets currency data from a remote source, I get the data and insert it into sql database via a stored procedure. If i put truncate in front of the insert statement, it truncates the table and inserts the last record. If i remove the truncate, it inserts all the records.

truncate table tblTablename;

insert into tblTablename
(columns)
values
(data)

上面將插入 289 條記錄中的最后一條記錄.

The above will insert the last record from 289 records.

如果我刪除 truncate,所有 289 條記錄都會插入.

If i remove truncate all 289 records are inserted.

我曾嘗試使用waitfor 1 秒鐘,但也未能奏效.

I have tried using waitfor, for 1 second but that failed to work either.

我不知道還能做什么,所以任何幫助將不勝感激

I'm not sure what else to do, so any help would be appreciated

在網頁中我有一個 foreach 循環

In webpage I have a foreach loop

喬治

/---------------------- SQL 代碼 -----------------

/---------------------- SQL Code -----------------

  ALTER PROCEDURE [dbo].[atSP_InsertCurrency]
-- Add the parameters for the stored procedure here
@CurrencyCountry VarChar(150),
@CurrencyRate VarChar(150),
@UpdateSuccessFail  INT OUTPUT 
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
TRUNCATE TABLE [dbo].[at_CurrencyRates];

WAITFOR DELAY '000:00:01'


INSERT INTO [dbo].[at_CurrencyRates]
(
    [CurrencyCode],
    [CurrencyExchangeRate]
)
VALUES
(
    @CurrencyCountry,
    @CurrencyRate
)
IF(@@ROWCOUNT > 0)
    BEGIN
    select  @UpdateSuccessFail = '1'
    END
    ELSE
    BEGIN
    select  @UpdateSuccessFail = '0'
    END
END

推薦答案

如果調用 289 次,則需要將 TRUNCATE TABLE [dbo].[at_CurrencyRates]; 移出存儲過程逐行插入.

You need to move TRUNCATE TABLE [dbo].[at_CurrencyRates]; out of the stored procedure if you are calling it 289 times to insert row by row.

每次調用存儲過程時,它都會從表中刪除所有行,因此您最終只會得到剛剛插入的一行.

Every time you call the stored procedure it deletes all the rows from the table so you will always only end up with the one row that you just inserted.

最好改變存儲過程以一次性插入所有需要的行,而不是一次插入一個.您可以使用表值參數來傳遞所有所需的行,然后您只需要一個 TRUNCATE 后跟一個 INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP.

Better would be to alter the stored procedure to do the insert of all required rows in one go rather than just one at a time. You can use a table valued parameter to pass in all of the desired rows then you would just need a TRUNCATE followed by an INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP.

這篇關于截斷表然后將數據插入同一個表只插入 1 條記錄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Modify Existing decimal places info(修改現有小數位信息)
The correlation name #39;CONVERT#39; is specified multiple times(多次指定相關名稱“CONVERT)
T-SQL left join not returning null columns(T-SQL 左連接不返回空列)
remove duplicates from comma or pipeline operator string(從逗號或管道運算符字符串中刪除重復項)
Change an iterative query to a relational set-based query(將迭代查詢更改為基于關系集的查詢)
concatenate a zero onto sql server select value shows 4 digits still and not 5(將零連接到 sql server 選擇值仍然顯示 4 位而不是 5)
主站蜘蛛池模板: 亚洲一区视频在线 | 综合久久99 | 国产第二页 | 精品免费观看 | 99久久久国产精品 | 色中文在线 | 黄色片视频网站 | 久久精品国产99国产精品 | 黄色一级大片在线免费看产 | 在线观看中文字幕视频 | www.国产精 | 日日淫| 欧美一级黄视频 | 国产一区免费 | 成人教育av | 亚洲综合无码一区二区 | 日韩一区在线观看视频 | 精品久久久久久中文字幕 | 久久久久亚洲精品 | 亚洲欧洲精品在线 | 天天干免费视频 | 免费看的黄网站 | 欧美精品久久久久 | 欧美a v在线 | 特黄色一级毛片 | 激情三区 | 亚洲播放一区 | 亚洲人成人一区二区在线观看 | 久久久不卡网国产精品一区 | 久久精品国产一区二区电影 | 国产一级成人 | 国产一区二区三区 | 一区二区视频在线 | 亚洲精品免费视频 | 成人在线视频网 | 久艹网站| 亚洲一二三在线 | 亚洲中午字幕 | 久艹av | 中文字幕一区在线观看视频 | 成人在线免费视频 |