Als u de WAITFOR
. gebruikt statement in SQL Server, en je krijgt de volgende foutmelding, komt dit waarschijnlijk omdat je een query opgeeft als argument.
Msg 101, Level 15, State 1, Line 1
Query not allowed in Waitfor.
De WAITFOR
verklaring accepteert geen vragen voor de "wachttijd" -periode. Het accepteert alleen een specifieke tijd of een interval.
In feite accepteert het RECEIVE
instructies, maar dit is alleen van toepassing op Service Broker-berichten, dus als u geen Service Broker-berichten gebruikt, is de bovenstaande fout vrij duidelijk.
Voorbeeld
Hier is een voorbeeld van een onjuiste poging om een zoekopdracht te gebruiken in de WAITFOR
verklaring.
WAITFOR (SELECT Delay From DelayTable);
Resultaat:
Msg 101, Level 15, State 1, Line 1 Query not allowed in Waitfor.
Om dit probleem op te lossen, moet u een werkelijke tijd of een vertraging opgeven.
Dit zal bijvoorbeeld werken.
WAITFOR DELAY '00:00:10';
Resultaat:
Commands completed successfully. Total execution time: 00:00:09.993
In dit geval heb ik een tijdvertraging gebruikt, maar je kunt ook een specifieke tijd gebruiken.
WAITFOR TIME '10:55:40';