📄 update_hook.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Data Change Notification Callbacks</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 --><a href="../index.html"><img class="logo" src="../images/SQLite.gif" alt="SQLite Logo" border="0"></a><div><!-- IE hack to prevent disappearing logo--></div><div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div><table width=100% style="clear:both"><tr><td> <div class="se"><div class="sw"><div class="ne"><div class="nw"> <div class="toolbar"> <a href="../about.html">About</a> <a href="../sitemap.html">Sitemap</a> <a href="../docs.html">Documentation</a> <a href="../download.html">Download</a> <a href="../copyright.html">License</a> <a href="../news.html">News</a> <a href="http://www.sqlite.org/cvstrac/index">Developers</a> <a href="../support.html">Support</a> </div></div></div></div></div></td></tr></table> <a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Data Change Notification Callbacks</h2><blockquote><pre>void *sqlite3_update_hook( sqlite3*, void(*)(void *,int ,char const *,char const *,sqlite3_int64), void*);</pre></blockquote><p>The sqlite3_update_hook() interfaceregisters a callback function with the database connection identified by thefirst argument to be invoked whenever a row is updated, inserted or deleted.Any callback set by a previous call to this function for the samedatabase connection is overridden.</p><p>The second argument is a pointer to the function to invoke when arow is updated, inserted or deleted.The first argument to the callback isa copy of the third argument to sqlite3_update_hook().The second callbackargument is one of <a href="../c3ref/c_alter_table.html">SQLITE_INSERT</a>, <a href="../c3ref/c_alter_table.html">SQLITE_DELETE</a> or <a href="../c3ref/c_alter_table.html">SQLITE_UPDATE</a>,depending on the operation that caused the callback to be invoked.The third andfourth arguments to the callback contain pointers to the database andtable name containing the affected row.The final callback parameter isthe rowid of the row.In the case of an update, this is the rowid afterthe update takes place.</p><p>The update hook is not invoked when internal system tables aremodified (i.e. sqlite_master and sqlite_sequence).</p><p>If another function was previously registered, its pArg valueis returned. Otherwise NULL is returned.</p><p><h3>Invariants:</h3><table border="0" cellpadding="5" cellspacing="0"><tr><td valign="top">F12971</td> <td valign="top">The <a href="../c3ref/update_hook.html">sqlite3_update_hook(D,F,P)</a> interface causes callbackfunction F to be invoked with first parameter P whenevera table row is modified, inserted, or deleted on<a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">F12973</td> <td valign="top">The <a href="../c3ref/update_hook.html">sqlite3_update_hook(D,F,P)</a> interface returns the valueof P for the previous call on the same <a href="../c3ref/sqlite3.html">database connection</a> D,or NULL for the first call.</td></tr><tr><td valign="top">F12975</td> <td valign="top">If the update hook callback F in <a href="../c3ref/update_hook.html">sqlite3_update_hook(D,F,P)</a>is NULL then the no update callbacks are made.</td></tr><tr><td valign="top">F12977</td> <td valign="top">Each call to <a href="../c3ref/update_hook.html">sqlite3_update_hook(D,F,P)</a> overrides prior callsto the same interface on the same <a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">F12979</td> <td valign="top">The update hook callback is not invoked when internal systemtables such as sqlite_master and sqlite_sequence are modified.</td></tr><tr><td valign="top">F12981</td> <td valign="top">The second parameter to the update callbackis one of <a href="../c3ref/c_alter_table.html">SQLITE_INSERT</a>, <a href="../c3ref/c_alter_table.html">SQLITE_DELETE</a> or <a href="../c3ref/c_alter_table.html">SQLITE_UPDATE</a>,depending on the operation that caused the callback to be invoked.</td></tr><tr><td valign="top">F12983</td> <td valign="top">The third and fourth arguments to the callback contain pointersto zero-terminated UTF-8 strings which are the names of thedatabase and table that is being updated.</td></tr><tr><td valign="top">F12985</td> <td valign="top">The final callback parameter is the rowid of the row afterthe change occurs.</td></tr></table></p><p>See also lists of <a href="objlist.html">Objects</a>, <a href="constlist.html">Constants</a>, and <a href="funclist.html">Functions</a>.</p><hr><small><i>This page last modified 2008/05/12 13:08:44 UTC</i></small></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -