Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

XMLDB reserved words: Difference between revisions

From MoodleDocs
(Updated from 3.6dev (master))
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[XML database schema]] > XMLDB reserved words
[[XMLDB Documentation|XMLDB Documentation]] > XMLDB reserved words
----
----
This page will show, once finished, a collection of reserved words that we must avoid completely inside the Moodle DB.
For each RDBMS some words are forbidden to be used as identifiers and they are called '''"reserved words"'''. Here you will find one big list that is automatically generated by the list of reserved words present in the '''XMLDB classes''' (it includes the reserved words for MySQL, PostgreSQL, Oracle and MSSQL).
 
It's a must to avoid completely the use of these reserved words in your DB structures (tables, columns...). At the end of this page, you'll find [[#Some useful links|some useful links]] about reserved words.


== The list ==
== The list ==
<code>_filename, access, accessible, add, admin, all, alter, analyse, analyze, and, any, array, as, asc, asensitive, asymmetric, audit, authorization, avg, backup, before, begin, between, bigint, binary, blob, both, break, browse, bulk, by, call, cascade, case, cast, change, char, character, check, checkpoint, close, cluster, clustered, coalesce, collate, column, comment, commit, committed, compress, compute, condition, confirm, connect, connection, constraint, contains, containstable, continue, controlrow, convert, count, create, cross, cume_dist, current, current_date, current_role, current_time, current_timestamp, current_user, cursor, database, databases, date, day_hour, day_microsecond, day_minute, day_second, dbcc, deallocate, dec, decimal, declare, default, deferrable, delayed, delete, dense_rank, deny, desc, describe, deterministic, disk, distinct, distinctrow, distributed, div, do, double, drop, dual, dummy, dump, each, else, elseif, empty, enclosed, end, errlvl, errorexit, escape, escaped, except, exclusive, exec, execute, exists, exit, explain, external, false, fetch, file, fillfactor, first_value, float, float4, float8, floppy, for, force, foreign, freetext, freetexttable, freeze, from, full, fulltext, function, goto, grant, group, grouping, groups, having, high_priority, holdlock, hour_microsecond, hour_minute, hour_second, identified, identity, identity_insert, identitycol, if, ignore, ilike, immediate, in, increment, index, infile, initial, initially, inner, inout, insensitive, insert, int, int1, int2, int3, int4, int8, integer, intersect, interval, into, is, isnull, isolation, iterate, join, json_table, key, keys, kill, lag, last_value, lead, leading, leave, left, level, like, limit, linear, lineno, lines, load, localtime, localtimestamp, lock, long, longblob, longtext, loop, low_priority, master_heartbeat_period, master_ssl_verify_server_cert, match, max, maxextents, mediumblob, mediumint, mediumtext, merge, middleint, min, minus, minute_microsecond, minute_second, mirrorexit, mlslabel, mod, mode, modifies, modify, national, natural, nchar, nclob, new, no_write_to_binlog, noaudit, nocheck, nocompress, nonclustered, not, notnull, nowait, nth_value, ntile, null, nullif, number, numeric, nvarchar2, of, off, offline, offset, offsets, old, on, once, online, only, open, opendatasource, openquery, openrowset, openxml, optimize, option, optionally, or, order, out, outer, outfile, over, overlaps, overwrite, pctfree, percent, percent_rank, perm, permanent, persist, persist_only, pipe, pivot, placing, plan, precision, prepare, primary, print, prior, privileges, proc, procedure, processexit, public, purge, raid0, raiserror, range, rank, raw, read, read_only, read_write, reads, readtext, real, reconfigure, recursive, references, regexp, release, rename, repeat, repeatable, replace, replication, require, resource, restore, restrict, return, returning, revert, revoke, right, rlike, rollback, row, row_number, rowcount, rowguidcol, rowid, rownum, rows, rule, save, schema, schemas, second_microsecond, securityaudit, select, semantickeyphrasetable, semanticsimilaritydetailstable, semanticsimilaritytable, sensitive, separator, serializable, session, session_user, set, setuser, share, show, shutdown, similar, size, smallint, some, soname, spatial, specific, sql, sql_big_result, sql_calc_found_rows, sql_small_result, sqlexception, sqlstate, sqlwarning, ssl, start, starting, statistics, straight_join, successful, sum, symmetric, synonym, sysdate, system, system_user, table, tablesample, tape, temp, temporary, terminated, textsize, then, tinyblob, tinyint, tinytext, to, top, trailing, tran, transaction, trigger, true, truncate, try_convert, tsequal, uid, uncommitted, undo, union, unique, unlock, unpivot, unsigned, update, updatetext, upgrade, usage, use, user, using, utc_date, utc_time, utc_timestamp, validate, values, varbinary, varchar, varchar2, varcharacter, varying, verbose, view, waitfor, when, whenever, where, while, window, with, within group, work, write, writetext, x509, xor, year_month, zerofill</code>


== Some useful links ==
== Some useful links ==
Line 10: Line 14:
* MySQL: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
* MySQL: http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html
* PostgreSQL: http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
* PostgreSQL: http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
* SQL*Server: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ra-rz_9oj7.asp
* SQL*Server: http://msdn2.microsoft.com/en-us/library/ms189822.aspx
* Oracle: http://www.cs.umbc.edu/help/oracle8/server.815/a67779/ap_keywd.htm
* Oracle: http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14200/ap_keywd.htm
* Escaping reserved words: http://www.ispirer.com/doc/sqlways38/Output/SQLWays-1-034.html
* Good site with all the '''real reserved words''' for some DB (with version info): http://search.cpan.org/src/CHANSEN/ (under the SQL-ReservedWords-xx dirs).
 
* Escaping reserved words: http://www.ispirer.com/doc/sqlways/Output/SQLWays-1-035.html
* [[XMLDB Problems#Reserved Words in Moodle DB|Current reserved words used by Moodle]].


[[Category:XMLDB]]
[[Category:XMLDB]]

Revision as of 20:48, 28 August 2018

XMLDB Documentation > XMLDB reserved words


For each RDBMS some words are forbidden to be used as identifiers and they are called "reserved words". Here you will find one big list that is automatically generated by the list of reserved words present in the XMLDB classes (it includes the reserved words for MySQL, PostgreSQL, Oracle and MSSQL).

It's a must to avoid completely the use of these reserved words in your DB structures (tables, columns...). At the end of this page, you'll find some useful links about reserved words.

The list

_filename, access, accessible, add, admin, all, alter, analyse, analyze, and, any, array, as, asc, asensitive, asymmetric, audit, authorization, avg, backup, before, begin, between, bigint, binary, blob, both, break, browse, bulk, by, call, cascade, case, cast, change, char, character, check, checkpoint, close, cluster, clustered, coalesce, collate, column, comment, commit, committed, compress, compute, condition, confirm, connect, connection, constraint, contains, containstable, continue, controlrow, convert, count, create, cross, cume_dist, current, current_date, current_role, current_time, current_timestamp, current_user, cursor, database, databases, date, day_hour, day_microsecond, day_minute, day_second, dbcc, deallocate, dec, decimal, declare, default, deferrable, delayed, delete, dense_rank, deny, desc, describe, deterministic, disk, distinct, distinctrow, distributed, div, do, double, drop, dual, dummy, dump, each, else, elseif, empty, enclosed, end, errlvl, errorexit, escape, escaped, except, exclusive, exec, execute, exists, exit, explain, external, false, fetch, file, fillfactor, first_value, float, float4, float8, floppy, for, force, foreign, freetext, freetexttable, freeze, from, full, fulltext, function, goto, grant, group, grouping, groups, having, high_priority, holdlock, hour_microsecond, hour_minute, hour_second, identified, identity, identity_insert, identitycol, if, ignore, ilike, immediate, in, increment, index, infile, initial, initially, inner, inout, insensitive, insert, int, int1, int2, int3, int4, int8, integer, intersect, interval, into, is, isnull, isolation, iterate, join, json_table, key, keys, kill, lag, last_value, lead, leading, leave, left, level, like, limit, linear, lineno, lines, load, localtime, localtimestamp, lock, long, longblob, longtext, loop, low_priority, master_heartbeat_period, master_ssl_verify_server_cert, match, max, maxextents, mediumblob, mediumint, mediumtext, merge, middleint, min, minus, minute_microsecond, minute_second, mirrorexit, mlslabel, mod, mode, modifies, modify, national, natural, nchar, nclob, new, no_write_to_binlog, noaudit, nocheck, nocompress, nonclustered, not, notnull, nowait, nth_value, ntile, null, nullif, number, numeric, nvarchar2, of, off, offline, offset, offsets, old, on, once, online, only, open, opendatasource, openquery, openrowset, openxml, optimize, option, optionally, or, order, out, outer, outfile, over, overlaps, overwrite, pctfree, percent, percent_rank, perm, permanent, persist, persist_only, pipe, pivot, placing, plan, precision, prepare, primary, print, prior, privileges, proc, procedure, processexit, public, purge, raid0, raiserror, range, rank, raw, read, read_only, read_write, reads, readtext, real, reconfigure, recursive, references, regexp, release, rename, repeat, repeatable, replace, replication, require, resource, restore, restrict, return, returning, revert, revoke, right, rlike, rollback, row, row_number, rowcount, rowguidcol, rowid, rownum, rows, rule, save, schema, schemas, second_microsecond, securityaudit, select, semantickeyphrasetable, semanticsimilaritydetailstable, semanticsimilaritytable, sensitive, separator, serializable, session, session_user, set, setuser, share, show, shutdown, similar, size, smallint, some, soname, spatial, specific, sql, sql_big_result, sql_calc_found_rows, sql_small_result, sqlexception, sqlstate, sqlwarning, ssl, start, starting, statistics, straight_join, successful, sum, symmetric, synonym, sysdate, system, system_user, table, tablesample, tape, temp, temporary, terminated, textsize, then, tinyblob, tinyint, tinytext, to, top, trailing, tran, transaction, trigger, true, truncate, try_convert, tsequal, uid, uncommitted, undo, union, unique, unlock, unpivot, unsigned, update, updatetext, upgrade, usage, use, user, using, utc_date, utc_time, utc_timestamp, validate, values, varbinary, varchar, varchar2, varcharacter, varying, verbose, view, waitfor, when, whenever, where, while, window, with, within group, work, write, writetext, x509, xor, year_month, zerofill

Some useful links