sql >> Database >  >> RDS >> Sqlserver

"Query niet toegestaan ​​in Waitfor" Fout 101 in SQL Server

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';

  1. SSIS-zelfstudie voor beginners:waarom, wat en hoe?

  2. FOUT:er is geen unieke beperking die overeenkomt met de gegeven sleutels voor de tabelbalk waarnaar wordt verwezen

  3. JQuery Ajax gebruiken om gegevens op te halen uit Mysql

  4. ACOS() Voorbeelden in SQL Server