您好,登錄后才能下訂單哦!
本文主要與注冊授權回調函數相關:sqlite3_set_authorizer 詳細的調用方式,請參考其他的章節!!
摘自:https://www.sqlite.org/c3ref/c_alter_table.html
?
/*******************************************3rd ************ 4th ***********/
#define SQLITE_CREATE_INDEX????????? 1? /* Index Name????? Table Name????? */
#define SQLITE_CREATE_TABLE????????? 2? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_TEMP_INDEX???? 3? /* Index Name????? Table Name????? */
#define SQLITE_CREATE_TEMP_TABLE???? 4? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_TEMP_TRIGGER?? 5?? /*Trigger Name??? Table Name????? */
#define SQLITE_CREATE_TEMP_VIEW????? 6? /* View Name?????? NULL??????????? */
#define SQLITE_CREATE_TRIGGER??????? 7? /* Trigger Name??? Table Name????? */
#define SQLITE_CREATE_VIEW?????????? 8? /* View Name?????? NULL??????????? */
#define SQLITE_DELETE??????????????? 9?? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_INDEX?????????? 10? /* Index Name????? Table Name????? */
#define SQLITE_DROP_TABLE?????????? 11? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_TEMP_INDEX????? 12? /* Index Name????? Table Name????? */
#define SQLITE_DROP_TEMP_TABLE????? 13? /* Table Name????? NULL??????????? */
#define SQLITE_DROP_TEMP_TRIGGER??? 14? /* Trigger Name??? Table Name????? */
#define SQLITE_DROP_TEMP_VIEW?????? 15? /* View Name?????? NULL??????????? */
#define SQLITE_DROP_TRIGGER???????? 16? /* Trigger Name??? Table Name????? */
#define SQLITE_DROP_VIEW??????????? 17? /* View Name?????? NULL??????????? */
#define SQLITE_INSERT?????????????? 18?? /* Table Name????? NULL??????????? */
#define SQLITE_PRAGMA?????????????? 19?? /* Pragma Name???? 1st arg or NULL */
#define SQLITE_READ???????????????? 20?? /* Table Name????? Column Name???? */
#define SQLITE_SELECT?????????????? 21?? /* NULL??????????? NULL??????????? */
#define SQLITE_TRANSACTION????????? 22? /* Operation?????? NULL??????????? */
#define SQLITE_UPDATE?????????????? 23?? /* Table Name????? Column Name???? */
#define SQLITE_ATTACH?????????????? 24?? /* Filename??????? NULL??????????? */
#define SQLITE_DETACH?????????????? 25?? /* Database Name?? NULL??????????? */
#define SQLITE_ALTER_TABLE????????? 26? /* Database Name?? Table Name????? */
#define SQLITE_REINDEX????????????? 27?? /* Index Name????? NULL??????????? */
#define SQLITE_ANALYZE????????????? 28?? /* Table Name????? NULL??????????? */
#define SQLITE_CREATE_VTABLE??????? 29? /* Table Name????? ModuleName???? */
#define SQLITE_DROP_VTABLE????????? 30? /* Table Name????? ModuleName???? */
#define SQLITE_FUNCTION???????????? 31?? /* NULL??????????? Function Name?? */
#define SQLITE_SAVEPOINT??????????? 32? /* Operation?????? SavepointName? */
#define SQLITE_COPY????????????????? 0?? /* No longer used */
#define SQLITE_RECURSIVE??????????? 33? /* NULL??????????? NULL??????????? */
????????sqlite3_set_authorizer接口注冊一個回調函數,該回調函數將被調用去授權執行SQL語句。回調函數的第二個參數是一個整型,指定了那些操作是被授權的,這些整型的動作編碼(integer action codes)是回調函數可以通過的。
這些動作編號值指定了哪種操作是被允許的。第三和第四個參數是否為NULL,還是其他的參數,完全依賴于第二個參數的設置,第五個參數是數據庫的名稱(main,temp,或者其他)if applicable.第六個參數嘗試訪問的內置觸發器或者視圖,當然如果為NULL,表示嘗試訪問來自于最高級的SQL編碼(The 6th parameter to the authorizer callback is the nameof the inner-most trigger or view that is responsible for the access attempt orNULL if this access attempt is directly from top-level SQL code).
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。