Apabila melaksanakan pertanyaan SQL dinamik menggunakan GO, anda mungkin menghadapi ralat disebabkan sintaks yang tidak sah. Satu isu sedemikian ialah kehadiran pernyataan "GO" dalam rentetan pertanyaan.
Dalam T-SQL, "GO" berfungsi sebagai pemisah kelompok, menunjukkan penghujung kumpulan pernyataan. Walau bagaimanapun, apabila melaksanakan pertanyaan dinamik, "GO" bukanlah pernyataan yang sah.
Untuk menyelesaikan isu ini, alih keluar semua tika "GO" daripada rentetan pertanyaan dinamik. Sebagai alternatif, anda boleh menggunakan alat seperti osql atau sqlcmd yang mengenali arahan "GO". Dengan mengubah suai pertanyaan anda seperti berikut, anda boleh melaksanakannya dengan jayanya tanpa menghadapi ralat "Sintaks yang salah berhampiran 'pergi'":
DECLARE @script VARCHAR(MAX), @script1 VARCHAR(MAX); SET @script = 'create table ali(id decimal(10,0));drop table ali;'; SET @script1 = 'create table ali(id decimal(10,0));drop table ali;'; EXEC (@script); EXEC (@script1);
Ingat bahawa "GO" bukan pernyataan T-SQL yang sah dan tidak sepatutnya dimasukkan dalam pertanyaan SQL dinamik. Mengalih keluar "GO" atau menggunakan alatan yang serasi memastikan pelaksanaan pertanyaan dinamik anda dengan betul.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat 'Sintaks yang salah berhampiran 'go'' dalam Pertanyaan SQL Dinamik Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!