Sales
というテーブルとSalesHistory
というテーブルがあります。 SalesHistory
はSales
のレプリカです。ストアドプロシージャをコピーする
Sales
テーブルをいつでも削除して、新しい列を追加して古い列を別の名前に変更して、再作成することができます。どのように私は一度sales表がドロップされるという問題を修正して再作成します:私は、それが挿入を必要とするか、今、私は少し失われています
を更新する場合、条件に応じて、saleshistory
テーブルにコピーsales
テーブルからデータをストアドプロシージャを書いていましたsaleshistoryテーブルの変更をどのように修正できますか?私はすでに私の質問私に説明してきた
任意のアイデアや、同じコードが必要な場合、私は私のコードオフのストアドプロシージャを共有することができますが、それは非常に単純です
ここでは、コード
Insert into SalesHistory (Cusip, KeyFeatures1, KeyFeatures2, KeyFeatures3, KeyFeatures4, KeyFeatures5, KeyFeatures6, KeyFeatures7, KeyRisks1, KeyRisks2, KeyRisks3, Comments1, Comments2, Comments3)
select
Cusip, KeyFeatures1, KeyFeatures2, KeyFeatures3, KeyFeatures4,
KeyFeatures5, KeyFeatures6, KeyFeatures7, KeyRisks1, KeyRisks2,
KeyRisks3, Comments1, Comments2, Comments3
from
Sales
where
not exists (SELECT 1 FROM SalesHistory WHERE cusip = Sales.cusip)
UPDATE Hist
SET Cusip = A.Cusip,
KeyFeatures1 = A.KeyFeatures1,
KeyFeatures2 = A.KeyFeatures2,
KeyFeatures3 = A.KeyFeatures3,
KeyFeatures4 = A.KeyFeatures4,
KeyFeatures5 = A.KeyFeatures5,
KeyFeatures6 = A.KeyFeatures6,
KeyFeatures7 = A.KeyFeatures7,
KeyRisks1 = A.KeyRisks1,
KeyRisks2 = A.KeyRisks2,
KeyRisks3 = A.KeyRisks3,
Comments1 = A.Comments1,
Comments2 = A.Comments2,
Comments3 = A.Comments3
FROM
SalesHistory Hist
INNER JOIN
Sales A ON A.cusip = Hist.cusip
ですしようとしています
あなたのコードを正確に共有してください。 – Dijkgraaf
に問題があります。まず名前が変更された列の一覧が必要です。次に、この例のように 'sp_rename'を使用することができます:http://stackoverflow.com/questions/16296622/rename-column-sql-server-2008。 'Sales'テーブルを変更するためのスクリプトを現在どのように生成していますか? –
私のコードを追加しました。 –