私はデータベース(学校のプロジェクト)に取り組んでいます。そのデータベース (SQL Server 2008 R2) のテストが必要です。
私はその回復をテストしようとしています。PC がクラッシュするのに十分な時間がかかるように、ストアド プロシージャを作成しています。
問題は、doenst を使用している while ループが機能しているように見えることです。
ストアド プロシージャ:
USE [OnderzoekSQL]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[Test_pro_opnemen]
-- Add the parameters for the stored procedure here
@bnummer int OUT,
@i int
AS
BEGIN
SET NOCOUNT ON;
WHILE(@i <= @@ROWCOUNT )
-- Insert statements for procedure here
SELECT TOP 1 @bnummer = accountnumber
FROM dbo.bank
ORDER BY saldo DESC
PRINT @bnummer
UPDATE bank
SET saldo = '0'
WHERE accountnumber = @bnummer
SET @i = @i+1
END
そしてテーブル:
CREATE TABLE [dbo].[bank](
[accountnumber] [nvarchar](50) NOT NULL,
[saldo] [real] NULL,
[owner_id] [int] NULL;
そして、nvarchar と accountnumber の int の違いについて。私は accountnumber で番号のみを使用するため、実際には問題ではありません。
Whileループを削除すると、手順が機能します