Ich möchte nur wissen, wie kann ich die Zufallszahl so einstellen, dass sie zwischen 1-10 liegt und keine Dezimalzahlen wie 0.744545454 anzeigt? Auch wie kann ich jeden Datensatz durch Ausführung durchlaufen, so dass jede Zeile eine eigene Zufallszahl für "PlayerWeighting" enthält?Wie setze ich Zufallszahlen ein?
Unten ist mein gespeicherte Prozedur:
CREATE PROCEDURE [dbo].[Player_CreateWholeTeam]
@TeamID INT
AS
SET NOCOUNT ON
BEGIN
DECLARE @FirstName VARCHAR(25)
DECLARE @Surname VARCHAR(25)
DECLARE @PlayerWeighting TINYINT
SELECT @FirstName = TeamName
FROM dbo.Team
WHERE TeamID = @TeamID
SELECT @Surname = 'Player' + cast(NumberID AS VARCHAR (10))
FROM dbo.Team CROSS JOIN dbo.Number
WHERE TeamID = @TeamID
ORDER BY TeamID, NumberId
SELECT @PlayerWeighting = RAND(1-10)
FROM dbo.Player
INSERT INTO dbo.Player (FirstName, Surname, PlayerWeighting, TeamID)
VALUES (@FirstName, @Surname, @PlayerWeighting, @TeamID)
END
'FLOOR (RAND (10)) + 1' einzuschalten. Der zweite 'SELECT' macht keinen Sinn, weil er so aussieht, als würde er mehrere Zeilen zurückgeben. –