sql >> Databáze >  >> RDS >> Sqlserver

Aktualizujte tabulku náhodnými poli

Měli byste přinutit databázový stroj, aby vyhodnotil novou hodnotu pro každý řádek. Můžete to udělat přidáním klauzule fiktivní where na vnější tabulku jako:

DECLARE @city TABLE(ID INT IDENTITY(1, 1), City VARCHAR(100))

INSERT INTO @city VALUES
('Dallas'),
('New York'),
('Washington'),
('Las Vegas')


DECLARE @random TABLE(ID INT IDENTITY(1, 1), City VARCHAR(100))

INSERT INTO @random VALUES
('Manchester'),
('London'),
('Oxford'),
('Liverpool')


SELECT * FROM @city c
CROSS APPLY(SELECT TOP 1 * FROM @random r WHERE c.ID = c.ID ORDER BY NEWID()) ca

pokud odstraníte WHERE c.ID = c.ID získáte stejnou hodnotu pro všechny řádky.




  1. Zobrazit SQL dotaz řadiče

  2. Zrušení databáze SQL Server prostřednictvím C#

  3. Laravel a InnoDB

  4. Vyberte inkrementované celé číslo