Существуют ли какие-либо SQL-проверки, которые могут проверять синтаксис на нескольких серверах баз данных?
Есть ли какие-нибудь SQL-проверки, которые могут проверять синтаксис против нескольких серверов баз данных?
Например, я могу проверить, будет ли конкретный запрос работать с Oracle, MySQL и SQL Server.
Меня больше беспокоит синтаксис SQL, чем запрашиваемая фактическая схема, поэтому инструмент, который может ловить основные синтаксические ошибки, например, обнаруживает, что предложение limit
не поддерживается в SQL Server, и Oracle будет достаточно хорошим.
EDIT:
Несколько ответов предложили проверить синтаксис для конкретной СУБД или для стандарта ANSI.
То, что я ищу, может быть нацелено на объединение функций двух или нескольких баз данных (например, SQL Server и Oracle). Я хотел бы иметь возможность использовать любую функцию SQL, поддерживаемую всеми СУБД, которые я нацеливаю в конкретном приложении.
Я не уверен, стоит ли это делать. Я думаю, что это зависит от количества функций, отличных от ANSI, разделяемых несколькими базами данных. Если их очень мало, то, возможно, лучше ориентироваться на стандарт ANSI.
Ответы
Ответ 1
Я не знаю, что конкретно, они будут проверять, что утверждения действительны ansi 92/99/2003...
http://developer.mimer.com/validator/index.htm
Это даст вам 99% пути (особенно если вы выполняете операции CRUD)
возможно, если вы знаете, какие зарезервированные слова используются, с помощью какой базы данных вы можете перевернуть свою собственную простую проверку.
see: Как определить, является ли имя столбца зарезервированным ключевым словом в различных базах данных.
(как уже упоминалось) Если ваша цель - создать агностическую систему базы данных, подумайте об использовании стороннего инструмента, например: entityspaces
Ответ 2
С точки зрения SQL Server вместо проверки синтаксиса sql на несколько серверов баз данных вы можете проверить синтаксис на соответствие стандарту FIPS 127-2. основан на стандарте ISO..
Пример:
SET FIPS_FLAGGER 'INTERMEDIATE'
Ответ 3
Для MySQL: попробуйте автоматическую проверку синтаксиса SQL в dbForge Studio для MySQL.
Для Oracle: редактор PL/SQL в dbForge Studio для Oracle
Ответ 4
Это онлайн-синтаксис mysql, но это только mysql
http://www.piliapp.com/mysql-syntax-check/