142 lines
5.2 KiB
HTML
142 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html><head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<link href="sqlite.css" rel="stylesheet">
|
|
<title>Database Object Name Resolution</title>
|
|
<!-- path= -->
|
|
</head>
|
|
<body>
|
|
<div class=nosearch>
|
|
<a href="index.html">
|
|
<img class="logo" src="images/sqlite370_banner.gif" alt="SQLite" border="0">
|
|
</a>
|
|
<div><!-- IE hack to prevent disappearing logo --></div>
|
|
<div class="tagline desktoponly">
|
|
Small. Fast. Reliable.<br>Choose any three.
|
|
</div>
|
|
<div class="menu mainmenu">
|
|
<ul>
|
|
<li><a href="index.html">Home</a>
|
|
<li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a>
|
|
<li class='wideonly'><a href='about.html'>About</a>
|
|
<li class='desktoponly'><a href="docs.html">Documentation</a>
|
|
<li class='desktoponly'><a href="download.html">Download</a>
|
|
<li class='wideonly'><a href='copyright.html'>License</a>
|
|
<li class='desktoponly'><a href="support.html">Support</a>
|
|
<li class='desktoponly'><a href="prosupport.html">Purchase</a>
|
|
<li class='search' id='search_menubutton'>
|
|
<a href="javascript:void(0)" onclick='toggle_search()'>Search</a>
|
|
</ul>
|
|
</div>
|
|
<div class="menu submenu" id="submenu">
|
|
<ul>
|
|
<li><a href='about.html'>About</a>
|
|
<li><a href='docs.html'>Documentation</a>
|
|
<li><a href='download.html'>Download</a>
|
|
<li><a href='support.html'>Support</a>
|
|
<li><a href='prosupport.html'>Purchase</a>
|
|
</ul>
|
|
</div>
|
|
<div class="searchmenu" id="searchmenu">
|
|
<form method="GET" action="search">
|
|
<select name="s" id="searchtype">
|
|
<option value="d">Search Documentation</option>
|
|
<option value="c">Search Changelog</option>
|
|
</select>
|
|
<input type="text" name="q" id="searchbox" value="">
|
|
<input type="submit" value="Go">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function toggle_div(nm) {
|
|
var w = document.getElementById(nm);
|
|
if( w.style.display=="block" ){
|
|
w.style.display = "none";
|
|
}else{
|
|
w.style.display = "block";
|
|
}
|
|
}
|
|
function toggle_search() {
|
|
var w = document.getElementById("searchmenu");
|
|
if( w.style.display=="block" ){
|
|
w.style.display = "none";
|
|
} else {
|
|
w.style.display = "block";
|
|
setTimeout(function(){
|
|
document.getElementById("searchbox").focus()
|
|
}, 30);
|
|
}
|
|
}
|
|
function div_off(nm){document.getElementById(nm).style.display="none";}
|
|
window.onbeforeunload = function(e){div_off("submenu");}
|
|
/* Disable the Search feature if we are not operating from CGI, since */
|
|
/* Search is accomplished using CGI and will not work without it. */
|
|
if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){
|
|
document.getElementById("search_menubutton").style.display = "none";
|
|
}
|
|
/* Used by the Hide/Show button beside syntax diagrams, to toggle the */
|
|
function hideorshow(btn,obj){
|
|
var x = document.getElementById(obj);
|
|
var b = document.getElementById(btn);
|
|
if( x.style.display!='none' ){
|
|
x.style.display = 'none';
|
|
b.innerHTML='show';
|
|
}else{
|
|
x.style.display = '';
|
|
b.innerHTML='hide';
|
|
}
|
|
return false;
|
|
}
|
|
</script>
|
|
</div>
|
|
|
|
|
|
|
|
<p>
|
|
In SQLite, a database object (a table, index, trigger or view) is identified
|
|
by the name of the object and the name of the database that it resides in.
|
|
Database objects may reside in the main database, the temp database, or in
|
|
an <a href="lang_attach.html">attached database</a>.
|
|
|
|
<p>
|
|
The syntax of the <a href="lang_droptable.html">DROP TABLE</a>, <a href="lang_dropindex.html">DROP INDEX</a>, <a href="lang_dropview.html">DROP VIEW</a>, <a href="lang_droptrigger.html">DROP TRIGGER</a>,
|
|
<a href="lang_reindex.html">REINDEX</a>, <a href="lang_altertable.html">ALTER TABLE</a> and many other commands all permit the user to
|
|
specify a database object either by its name alone, or by a combination of
|
|
its name and the name of its database. If no database is specified as part
|
|
of the object reference, then SQLite searches the main, temp and all attached
|
|
databases for an object with a matching name. The temp database is searched
|
|
first, followed by the main database, followed all attached databases in the
|
|
order that they were attached. The reference resolves to the first match
|
|
found. For example:
|
|
|
|
<pre>
|
|
/* Add a table named 't1' to the temp, main and an attached database */
|
|
ATTACH 'file.db' AS aux;
|
|
CREATE TABLE t1(x, y);
|
|
CREATE TEMP TABLE t1(x, y);
|
|
CREATE TABLE aux.t1(x, y);
|
|
|
|
DROP TABLE t1; /* Drop table in temp database */
|
|
DROP TABLE t1; /* Drop table in main database */
|
|
DROP TABLE t1; /* Drop table in aux database */
|
|
</pre>
|
|
|
|
<p>
|
|
If a schema name is specified as part of an object reference, it must be
|
|
either "main", or "temp" or the schema-name of an attached database.
|
|
Like other SQL identifiers, schema names are case-insensitive.
|
|
If a schema name is specified, then only that one schema is searched for
|
|
the named object.
|
|
|
|
<p>
|
|
Most object references may only resolve to a specific type of object (for
|
|
example a reference that is part of a DROP TABLE statement may only resolve
|
|
to a table object, not an index, trigger or view). However in some contexts
|
|
(e.g. <a href="lang_reindex.html">REINDEX</a>) an object reference may be resolve to more than one type
|
|
of object. When searching database schemas for a named object, objects of
|
|
types that cannot be used in the context of the reference are always
|
|
ignored.
|
|
|