Durante la modifica, la compilazione o il cherry picking dalle istruzioni SQL posso trovarmi a interagire con uno dei quattro strumenti di database più diffusi. Ho fatto ricorso a commenti a riga singola per DB2 e Informix. Ho creato macro in vim per renderlo leggermente più efficiente ma mi stavo chiedendo se sto lavorando troppo duramente.Esistono delimitatori di commento multilinea in SQL che sono indipendenti dal fornitore?
risposta
I commenti di stile C sono standard in SQL 2003 e SQL 2008 (ma non in SQL 1999 o versioni precedenti). I seguenti DBMS tutti i commenti stile supporto C:
- Informix
- PostgreSQL
- MySQL
- Oracle
- DB2
- Sybase
- Ingres
- Microsoft SQL Server
- SQLite (3.7.2 e versioni successive)
- Teradata Aster e
Questo non è possibile ogni DBMS, ma è più o meno tutti i principali DBMS SQL. (Io volentieri aggiungere note di qualsiasi altro DBMS che fa - o non lo fa - commenti in stile C di supporto.)
I documenti standard SQL 2003 commentano notazioni così:
<comment> ::= <simple comment> | <bracketed comment>
<simple comment> ::=
<simple comment introducer> [ <comment character> ... ] <newline>
<simple comment introducer> ::=
<minus sign> <minus sign> [ <minus sign> ... ]
<bracketed comment> ::=
<bracketed comment introducer> <bracketed comment contents>
<bracketed comment terminator>
<bracketed comment introducer> ::= <slash> <asterisk>
<bracketed comment terminator> ::= <asterisk> <slash>
<bracketed comment contents> ::= [ { <comment character> | <separator> }... ]
<comment character> ::= <nonquote character> | <quote>
IBM Informix Dynamic Server (IDS o Informix) supporta i commenti in stile C. Supporta anche '{ ... }
' come commenti multi-linea potenzialmente, tranne in contesti in cui significa qualcos'altro - che qualcos'altro è un LIST o SET o MULTISET letterale. (Potresti scoprire che DB-Access viene confuso dai commenti in stile C, che è un problema separato.)
Abbastanza corretto, non era chiaro quale standard SQL fosse in discussione (e le mie informazioni erano obsolete). Nondimeno, continuo a sostenere che i commenti in stile C non sono completamente indipendenti dal venditore. –
Penso che il meglio che posso sperare sia l'SQL 1999 :(Beh, almeno vim ovunque .. – ojblass
Dipende dalle versioni che stai usando, ma penso che troverai che i prodotti sono molto più avanti dello standard. Ho trovato commenti dal 2003 per MySQL con problemi (minori) con/* commenti * /, ma livello di utilità, non livello server. Penso che troverete che la maggior parte dei server l'hanno supportata dal 2000. –
Lo standard ISO definisce solo commenti a riga singola che iniziano con due trattini. Alcuni produttori supportano il commento in stile C (ad es. Multilinea che inizia con/* e termina con * /), ma non dovrebbe essere considerato "venditore agnostico".
- 1. Commento multilinea in elisir
- 2. Commento multilinea in awk
- 3. multilinea bash commento etiquette (# +)
- 4. Concatenazione di stringhe SQL indipendenti dal database in Rails
- 5. Le query multilinea sql-injection sono sicure?
- 6. Perché il commento multilinea in stile "//" è errato (in Java)?
- 7. nozioni di pixel indipendenti dal dispositivo
- 8. SQLite - Esegui lo script SQL multilinea dal file?
- 9. Esistono funzioni di R dipendenti dal sistema?
- 10. Functional Banana Traveler - Eventi indipendenti dal timer e dal giocatore
- 11. Teach Notepad ++ per piegare un nuovo commento multilinea (R)
- 12. Quale tipo di dati posso usare per campi di testo molto grandi che sono indipendenti dal database?
- 13. Esempi di intestazione del commento SQL
- 14. Definizione della larghezza/altezza css in unità indipendenti dal dispositivo?
- 15. Visualizza MathJax in modo dinamico solo quando sono presenti delimitatori
- 16. Perché le unità indipendenti dal dispositivo 1920 non sono 1920 pixel con 96 DPI?
- 17. Android posizione ottenere dal miglior fornitore disponibili
- 18. Impostare CSS prefissati dal fornitore utilizzando javascript
- 19. Delimitatori di postfix Java
- 20. Esistono linguaggi di programmazione che supportano xml in modo nativo?
- 21. EF4 Associazioni indipendenti - Perché evitarli?
- 22. Importazione query SQL multilinea su stringa singola
- 23. Tipi non elaborati con metodi generici indipendenti dal tipo generico
- 24. laravel 5 registro middleware dal fornitore di servizi nel pacchetto
- 25. PL/SQL selezionare - se i dati esistono
- 26. Esistono valori letterali di tabella in Transact-SQL?
- 27. Esistono funzioni di regressione lineare in SQL Server?
- 28. Come vengono rilevate le schede SIM duplicate dal fornitore?
- 29. Come eseguire un commento multilinea con istruzioni condizionali nei manub di script ember.js?
- 30. Etichetta multilinea in asp.net
Il grosso problema con i delimitatori di commento multilinea non è la portabilità; è l'impossibilità di nidificare. – Wildcard