1

動的 SQL クエリを使用して、あるデータベースから別のデータベースにテーブルを移動したいと考えています。テーブルを移動するストアド プロシージャがありますが、テーブルで主キーを移動していません

これは私のコードです:

set @cSQL='Select Name from '+@cSDBName+'.sys.tables where Type=''U''' 

Insert into #t1Table
exec (@cSQL)

while((select count(tName) from #t1Table)>0)
begin
    select top 1 @cName=tName from #t1Table
    set @cSQL='Select * into '+@cDBName+'.dbo.'+@cName+' from '+@cSDBName+'.dbo.'+@cName +' where 1=2'
    exec(@cSQL)
    delete from #t1Table where tName=@cName
end

これ@cSDBNameはソース データベースの名前であり@cSQL、SQL ステートメントです。

ただし、このプロセスでは主キーは移動しません

誰でもこれで私を助けることができますか?

4

2 に答える 2

0

さて、作成したクエリはデータを移動するだけです。主キーをどこにも指定していません。

スクリプトを使用してテーブルを作成するか、スクリプトを使用してテーブルを変更して主キーを定義する必要があります。

于 2013-10-29T07:03:20.640 に答える