Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan SQL Dinamik Saya Menyebabkan Ralat 'Sintaks yang salah berhampiran 'pergi'' dalam Pelayan SQL?

Mengapa Pertanyaan SQL Dinamik Saya Menyebabkan Ralat 'Sintaks yang salah berhampiran 'pergi'' dalam Pelayan SQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 17:22:11498semak imbas

Why Does My Dynamic SQL Query Cause a

Menyelesaikan Masalah Ralat Sintaks Semasa Melaksanakan Pertanyaan Dinamik dengan GO

Cabaran:

Melaksanakan pertanyaan SQL dinamik dengan pernyataan GO mencetuskan ralat "Msg 102, Tahap 15, State 1, Baris 4 Sintaks salah berhampiran 'go'".

Analisis:

GO bukanlah pernyataan Transact-SQL yang sah tetapi sebaliknya perintah yang diiktiraf oleh sqlcmd, osql , dan Kod Studio Pengurusan Pelayan SQL Editor.

Penyelesaian:

Untuk menyelesaikan ralat ini, anda mesti mengalih keluar semua tika GO daripada SQL dinamik anda. Menjalankan pertanyaan dengan GO dialih keluar seharusnya menyelesaikan ralat sintaks.

Sampel Kod:

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

Nota:

Kod contoh yang diberikan dalam soalan adalah untuk tujuan ilustrasi sahaja. SQL dinamik yang anda laksanakan mungkin mengandungi pertanyaan yang berbeza tetapi penyelesaiannya tetap sama: alih keluar tika GO.

Atas ialah kandungan terperinci Mengapa Pertanyaan SQL Dinamik Saya Menyebabkan Ralat 'Sintaks yang salah berhampiran 'pergi'' dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn