0
SQL Server 2000では、各テーブルに同じ列名で100を超えるテーブルがあります。今私はSQLの更新ステートメントを使用して一度に100テーブルの値を更新したいと思います。マルチテーブルの文の値を一度に更新する
どうすればよいですか?私はGoogleとstackoverflowしようとするが、実際には役に立たない。
本当にありがとうございました
SQL Server 2000では、各テーブルに同じ列名で100を超えるテーブルがあります。今私はSQLの更新ステートメントを使用して一度に100テーブルの値を更新したいと思います。マルチテーブルの文の値を一度に更新する
どうすればよいですか?私はGoogleとstackoverflowしようとするが、実際には役に立たない。
本当にありがとうございました
は、データベース内のすべてのテーブルのカーソルを作成し、実行するために、動的クエリを使用します。 このスクリプトは、これを行うのに役立ちます。
--USE [Your DB]
--GO
DECLARE @tableName VARCHAR(100)
DECLARE @sqlQuery VARCHAR(MAX)
DECLARE curTable CURSOR FOR SELECT name FROM sys.objects WHERE type_desc = 'USER_TABLE' AND name NOT IN ('sysdiagrams')
OPEN curTable
FETCH NEXT FROM curTable INTO @tableName
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sqlQuery = 'UPDATE ' + @tableName + 'SET [YourCol1] = [YourVal1], [YourCol2] = [YourVal2] ...'
PRINT @sqlQuery
EXECUTE sp_executesql @sqlQuery
FETCH NEXT FROM curTable INTO @tableName
END
CLOSE curTable
DEALLOCATE curTable
これは、他のテーブルがそれにリンクできるように、その中にこの列と静的な識別子のいくつかの並べ替えを持つ単一のテーブルを持つことによって取り扱われるべきものの一種である...そして、あなただけに必要があるだろう100 ... – ZLK
の代わりに1つのテーブルを更新してください。単一のテーブルがあれば、更新ステートメントとは何でしょうか?そして、あなたはこのリンクからアイデアを得ることができます。あなたはパスします://dba.stackexchange.com/questions/171254 /削除する複数レコードのスクリプト/ 174557#174557 – KumarHarsh