sql >> Database teknologi >  >> RDS >> Sqlserver

Opdater tabel med tilfældige felter

Du bør tvinge databasemotoren til at evaluere ny værdi for hver række. Du kan gøre dette ved at tilføje dummy where-klausul på den ydre tabel som:

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

hvis du fjerner WHERE c.ID = c.ID du får samme værdi for alle rækker.




  1. Oracle - Sådan tvinges brugeren til at INDSÆTTE flere rækker

  2. MySQL Enum ydeevne fordel?

  3. Tillad alle fjernforbindelser, MySQL

  4. postgreSQL - psql \i :hvordan man udfører script i en given sti