SQL / Regex Challenge / Puzzle: ¿Cómo eliminar comentarios del código SQL (mediante la consulta SQL)?
RequisitosLos comentarios de una sola línea (por ejemplo, mi comentario) deben eliminarse.Los comentarios de varias líneas (por ejemplo, / * mi comentario * /) deben eliminarse.El contenido de los literales de cadenas (por ejemplo, 'este es un comentario de varias líneas: / * mi comentario * /') debe ignorarse.El contenido de los identificadores (por ejemplo, "- columna 1 -") debe ignorarse.literales e identificadores
Los literales e identificadores pueden abarcar varias líneas
Comentarios de una líneaUn comentario de una sola línea podría ser el último elemento del código y podría no terminar con una nueva línea.
Comentarios multilínea anidadosEn bases de datos como SQL Server y PostgreSQL, los comentarios de varias líneas se pueden anidar, por ejemplo:
/* outer comment /* inner comment */ */
El siguiente código no es válido ya que solo el comentario interno está cerrado:
/* opened outer comment /* closed inner comment */
En bases de datos como Teradata, Oracle, MySql y SQLite no existe el concepto de comentarios anidados. El siguiente código no es válido ya que el comentario ya está cerrado con el extremo izquierdo * /.
/* comment /* is closed */ ERROR */
Sin embargo, este es un código válido:
/* comment /* still the same comment */