123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html><head>
- <title>SQL Features That SQLite Does Not Implement</title>
- <style type="text/css">
- body {
- margin: auto;
- font-family: Verdana, sans-serif;
- padding: 8px 1%;
- }
- a { color: #45735f }
- a:visited { color: #734559 }
- .logo { position:absolute; margin:3px; }
- .tagline {
- float:right;
- text-align:right;
- font-style:italic;
- width:240px;
- margin:12px;
- margin-top:58px;
- }
- .toolbar {
- font-variant: small-caps;
- text-align: center;
- line-height: 1.6em;
- margin: 0;
- padding:1px 8px;
- }
- .toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
- .toolbar a:visited { color: white; }
- .toolbar a:hover { color: #80a796; background: white; }
- .content { margin: 5%; }
- .content dt { font-weight:bold; }
- .content dd { margin-bottom: 25px; margin-left:20%; }
- .content ul { padding:0px; padding-left: 15px; margin:0px; }
- /* rounded corners */
- .se { background: url(images/se.png) 100% 100% no-repeat #80a796}
- .sw { background: url(images/sw.png) 0% 100% no-repeat }
- .ne { background: url(images/ne.png) 100% 0% no-repeat }
- .nw { background: url(images/nw.png) 0% 0% no-repeat }
- </style>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
-
- </head>
- <body>
- <div><!-- container div to satisfy validator -->
- <h2>SQL Features That SQLite Does Not Implement</h2>
- <p>
- Rather than try to list all the features of SQL92 that SQLite does
- support, it is much easier to list those that it does not.
- Unsupported features of SQL92 are shown below.</p>
- <p>
- The order of this list gives some hint as to when a feature might
- be added to SQLite. Those features near the top of the list are
- likely to be added in the near future. There are no immediate
- plans to add features near the bottom of the list.
- </p>
- <table cellpadding="10">
- <tr><td valign="top"><b><nobr>RIGHT and FULL OUTER JOIN</nobr></b></td><td width="10"> </th><td valign="top">
- LEFT OUTER JOIN is implemented, but not RIGHT OUTER JOIN or
- FULL OUTER JOIN.
- </td></tr><tr><td valign="top"><b><nobr>Complete ALTER TABLE support</nobr></b></td><td width="10"> </th><td valign="top">
- Only the RENAME TABLE and ADD COLUMN variants of the
- ALTER TABLE command are supported. Other kinds of ALTER TABLE operations
- such as
- DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT, and so forth are omitted.
- </td></tr><tr><td valign="top"><b><nobr>Complete trigger support</nobr></b></td><td width="10"> </th><td valign="top">
- FOR EACH ROW triggers are supported but not FOR EACH STATEMENT
- triggers.
- </td></tr><tr><td valign="top"><b><nobr>Writing to VIEWs</nobr></b></td><td width="10"> </th><td valign="top">
- VIEWs in SQLite are read-only. You may not execute a DELETE, INSERT, or
- UPDATE statement on a view. But you can create a trigger
- that fires on an attempt to DELETE, INSERT, or UPDATE a view and do
- what you need in the body of the trigger.
- </td></tr><tr><td valign="top"><b><nobr>GRANT and REVOKE</nobr></b></td><td width="10"> </th><td valign="top">
- Since SQLite reads and writes an ordinary disk file, the
- only access permissions that can be applied are the normal
- file access permissions of the underlying operating system.
- The GRANT and REVOKE commands commonly found on client/server
- RDBMSes are not implemented because they would be meaningless
- for an embedded database engine.
- </td></tr>
- </table>
- <p>
- If you find other SQL92 features that SQLite does not support, please
- add them to the Wiki page at
- <a href="http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql">
- http://www.sqlite.org/cvstrac/wiki?p=Unsupported</a>
- </p>
|