簡體   English   中英

存儲過程(過程數據然后插入到另一個表中)

[英]Stored Procedure (process data then insert into another table)

我想做的實際上是處理一些數據,然后將處理后的數據插入到新表中。.但是首先,我需要檢查目標表;如果為空,則刪除表中的所有內容,然后僅插入新處理的數據。

我正在使用sql server 2008 ...

任何人都可以給我示例SQL代碼來創建存儲過程?

create procedure SprocName
AS
BEGIN
  DECLARE @ProcessedData AS TABLE (IntColumn int, CharColumn varchar(MAX))

  -- get processed data
  INSERT INTO @ProcessedData (IntColumn, CharColumn)
  SELECT IntValue, CharValue FROM SourceTable -- WHERE your condition

  -- check target and delete
  IF EXISTS (SELECT * FROM TargetTable)
  BEGIN
    DELETE FROM TargetTable -- WHERE your condition
  END

  -- insert fresh
  INSERT INTO TargetTable (IntColumn, CharColumn)
  SELECT IntColumn, CharColumn FROM @ProcessedData

END

抱歉代碼未測試;)

創建存儲過程的語法在這里: http : //msdn.microsoft.com/zh-cn/library/ms187926.aspx

然后您需要進行選擇,語法在這里: http : //msdn.microsoft.com/zh-cn/library/ms189499.aspx

接下來是一個if,請參閱: http : //msdn.microsoft.com/zh-cn/library/ms182717.aspx

最后插入一個http://msdn.microsoft.com/en-us/library/ms174335.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM