Jika Anda menggunakan WAITFOR
pernyataan di SQL Server, dan Anda mendapatkan kesalahan berikut, mungkin karena Anda memberikan kueri sebagai argumennya.
Msg 101, Level 15, State 1, Line 1
Query not allowed in Waitfor.
WAITFOR
pernyataan tidak menerima kueri untuk periode "tunggu". Itu hanya menerima waktu atau interval tertentu.
Sebenarnya, ia menerima RECEIVE
pernyataan, tetapi ini hanya berlaku untuk pesan Pialang Layanan, jadi jika Anda tidak menggunakan pesan Pialang Layanan, kesalahan di atas cukup jelas.
Contoh
Berikut ini contoh salah mencoba menggunakan kueri di WAITFOR
pernyataan.
WAITFOR (SELECT Delay From DelayTable);
Hasil:
Msg 101, Level 15, State 1, Line 1 Query not allowed in Waitfor.
Untuk mengatasi masalah ini, Anda harus memberikan waktu aktual atau waktu tunda.
Misalnya, ini akan berhasil.
WAITFOR DELAY '00:00:10';
Hasil:
Commands completed successfully. Total execution time: 00:00:09.993
Dalam hal ini, saya menggunakan waktu tunda, tetapi Anda juga dapat menggunakan waktu tertentu.
WAITFOR TIME '10:55:40';