1

いくつかの宣言された変数を持つSQLスクリプトがあります。これらの変数のさまざまな値のセットに対してこのスクリプトを実行し、出力を確認したいと思います。どうすればよいですか?

4

3 に答える 3

1

注:この回答はここからコピーされていますが、あなたが求めていることについての優れたリソースです。

セットベースと手続き型のその他の例は、ここここ、およびここにあります。

そして、これがSQLコードの実際の例です。

DECLARE @someFlag INT
SET @someFlag = 0
WHILE (@someFlag <=5)
BEGIN
PRINT @someFlag 
SET @someFlag = @someFlag + 1
END
GO
于 2013-03-06T23:21:17.050 に答える
1

それを行うための適切な権限がある場合は、スクリプトをストアドプロシージャとして設定してから、プロシージャを複数回実行できます。それを行う方法のリファレンス:http://msdn.microsoft.com/en-us/library/ms187926 (v = sql.100).aspx

永続的なprocを作成する必要もありません。必要がない場合、または実行しているデータベースに必要な場合は、代わりに一時的なprocとして設定できます。

したがって、CREATE PROCEDURE dbo.usp_SomeProcedure AS ....の代わりに、CREATEPROCEDURE#usp_SomeProcedureを実行します。

他のオプションは、スクリプトをnvarchar(max)変数に入れ、それを他の変数と一緒に使用してsp_executesql(http://msdn.microsoft.com/en-us/library/ms188001.aspx)を実行することです。

于 2013-03-06T23:24:39.810 に答える
1

カーソルまたはWhileループのいずれかを使用します(設定はWhileになります)。こんな感じになります

DECLARE @i INT
SET @i = 1

WHILE (@i <=10)
BEGIN    
   -- do whatever you need to do
   SET @i = @i + 1
END
于 2013-03-06T23:29:47.070 に答える