Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengendalikan Ralat 'Sintaks yang salah berhampiran 'go'' Semasa Melaksanakan Pertanyaan SQL Dinamik?

Bagaimana untuk Mengendalikan Ralat 'Sintaks yang salah berhampiran 'go'' Semasa Melaksanakan Pertanyaan SQL Dinamik?

Linda Hamilton
Lepaskan: 2025-01-05 13:50:39
asal
835 orang telah melayarinya

How to Handle

Melaksanakan Pertanyaan Dinamik dengan GO dalam SQL

Melaksanakan pertanyaan dinamik dengan pernyataan GO dalam SQL boleh membawa kepada ralat, kerana GO bukanlah perintah SQL yang diiktiraf. Untuk menyelesaikan isu ini, adalah penting untuk mengalih keluar semua kejadian GO daripada rentetan SQL dinamik sebelum melaksanakannya.

Contoh:

Pertimbangkan kod berikut yang cuba melaksanakan pertanyaan dinamik:

DECLARE @script VARCHAR(MAX);
SET @script = 
    '
    create table ali(id decimal(10,0));
    drop table ali;
    go
    create table ali(id decimal(10,0));
    drop table ali;
    '

EXEC (@script);
Salin selepas log masuk

Apabila dilaksanakan, pertanyaan ini akan menghasilkan perkara berikut ralat:

Msg 102, Level 15, State 1, Line 4 Incorrect syntax near 'go'.
Salin selepas log masuk

Untuk menyelesaikan ralat ini, alih keluar semua kejadian GO daripada rentetan SQL dinamik:

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);
Salin selepas log masuk

Kod yang diubah suai ini akan berjaya melaksanakan kedua-dua pertanyaan tanpa menemui "Sintaks salah hampir ralat 'pergi'.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat 'Sintaks yang salah berhampiran 'go'' Semasa Melaksanakan Pertanyaan SQL Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan