Als ich zum ersten Mal eine MySQL-FUNKTION schrieb, traten ständig Fehler auf. Err] 1064 - Ihre SQL-Syntax weist einen Fehler auf. Lesen Sie im Handbuch zu Ihrer MySQL-Serverversion nach, welche Syntax in der Nähe von „company_id“ zu verwenden ist (int) RETURNS varchar(20) CHARSET utf8 BEGINNEN Die ursprüngliche Funktion: CREATE DEFINER=`33323`@`%` FUNCTION `createSaleCode`(`benginStr` varchar,`company_id` int) RETURNS varchar(20) CHARSET utf8 BEGINNEN DECLARE nearnum VARCHAR(20); DECLARE nowdatepre VARCHAR(20); DECLARE numout VARCHAR(20); Wählen Sie a.sale_code INTO nearnum aus d_sale a, wobei a.company_id = company_id ist. Bestellen Sie nach a.sale_id DESC-Limit 1; SELECT concat(extract(year_month from now()), LPAD(extract(day from now()), 2, 0)) INTO nowdatepre; WENN lokalisieren(nowdatepre,nearnum)>0 DANN setze Numout = Nearnum +1; ANDERS setze Numout = concat(beginStr,nowdatepre,'00001'); ENDE, WENN; RETURN-Nummer; ENDE Diese Funktion kann auf Navicat nicht ausgeführt werden. Nach mehreren Versuchen wird der Code wie folgt geändert: Trennzeichen $$ CREATE DEFINER=`12212`@`%` FUNCTION createSaleCode(benginStr varchar(20),company_id int(11) ) RETURNS varchar(20) CHARSET utf8 BEGINNEN DECLARE nearnum VARCHAR(20); DECLARE nowdatepre VARCHAR(20); DECLARE numout VARCHAR(20); Wählen Sie a.sale_code INTO nearnum aus d_sale a, wobei a.company_id = company_id ist. Bestellen Sie nach a.sale_id DESC-Limit 1; SELECT concat(extract(year_month from now()), LPAD(extract(day from now()), 2, 0)) INTO nowdatepre; WENN lokalisieren(nowdatepre,nearnum)>0 DANN setze Numout = Nearnum +1; ANDERS setze Numout = concat(beginStr,nowdatepre,'00001'); ENDE, WENN; RETURN-Nummer; ENDE$$ Trennzeichen ; Problem gelöst. Standardmäßig ist das Trennzeichen ein Semikolon;. Zusammenfassen Das Obige ist der gesamte Inhalt dieses Artikels zur Lösung des Problems, dass Navicat keine Funktionen erstellen kann. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Site verweisen: eine kurze Einführung in den Unterschied zwischen Redis und MySQL, eine Analyse von MySQL-Unterabfragen und Beispielen zur Optimierung verschachtelter Abfragen, mehrere wichtige MySQL-Variablen usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen und der Herausgeber wird Ihnen rechtzeitig antworten. Vielen Dank, Freunde, für die Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung zur grundlegenden Verwendung des React Native-Scaffoldings
>>: So bereinigen Sie den MySQL-Speicherplatz in der Alibaba Cloud
Vorwort Verwenden Sie js, um einen Jahresrotation...
Einführung in XHTML-Tags <br />Vielleicht is...
Inhaltsverzeichnis Einführung und Demo API: Conta...
Inhaltsverzeichnis 1. Betrieb der Datenbank 1.1 E...
Inhaltsverzeichnis 1 Testfälle 2 JS-Array-Dedupli...
Flexibles Layout Flex ist die Abkürzung für Flexi...
Syntaxformat: row_number() über (Partition durch ...
Oft müssen wir lokale Datenbankdaten exportieren ...
1. Installation und Konfiguration des Apache-Serv...
Szenario So rendern Sie Listen mit bis zu 10.000 ...
Inhaltsverzeichnis 1. So finden Sie doppelte Zeil...
Was ist Textumbruch um Bilder? Dies ist die Auswi...
Eine kurze Einführung in protobuf Protobuf ist Go...
Der standardmäßige Bildlaufleistenstil in Windows...
Gestern gab es keine Probleme beim Herstellen ein...