亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? lastinsert.test

?? 新版輕量級嵌入式數(shù)據(jù)庫
?? TEST
字號(hào):
# The author disclaims copyright to this source code.  In place of# a legal notice, here is a blessing:##    May you do good and not evil.#    May you find forgiveness for yourself and forgive others.#    May you share freely, never taking more than you give.##***********************************************************************## Tests to make sure that value returned by last_insert_rowid() (LIRID)# is updated properly, especially inside triggers## Note 1: insert into table is now the only statement which changes LIRID# Note 2: upon entry into before or instead of triggers,#           LIRID is unchanged (rather than -1)# Note 3: LIRID is changed within the context of a trigger,#           but is restored once the trigger exits# Note 4: LIRID is not changed by an insert into a view (since everything#           is done within instead of trigger context)#set testdir [file dirname $argv0]source $testdir/tester.tcl# ----------------------------------------------------------------------------# 1.x - basic tests (no triggers)# LIRID changed properly after an insert into a tabledo_test lastinsert-1.1 {    catchsql {        create table t1 (k integer primary key);        insert into t1 values (1);        insert into t1 values (NULL);        insert into t1 values (NULL);        select last_insert_rowid();    }} {0 3}# LIRID unchanged after an update on a tabledo_test lastinsert-1.2 {    catchsql {        update t1 set k=4 where k=2;        select last_insert_rowid();    }} {0 3}# LIRID unchanged after a delete from a tabledo_test lastinsert-1.3 {    catchsql {        delete from t1 where k=4;        select last_insert_rowid();    }} {0 3}# LIRID unchanged after create table/view statementsdo_test lastinsert-1.4.1 {    catchsql {        create table t2 (k integer primary key, val1, val2, val3);        select last_insert_rowid();    }} {0 3}ifcapable view {do_test lastinsert-1.4.2 {    catchsql {        create view v as select * from t1;        select last_insert_rowid();    }} {0 3}} ;# ifcapable view# All remaining tests involve triggers.  Skip them if triggers are not# supported in this build.#ifcapable {!trigger} {  finish_test  return}# ----------------------------------------------------------------------------# 2.x - tests with after insert trigger# LIRID changed properly after an insert into table containing an after triggerdo_test lastinsert-2.1 {    catchsql {        delete from t2;        create trigger r1 after insert on t1 for each row begin            insert into t2 values (NEW.k*2, last_insert_rowid(), NULL, NULL);            update t2 set k=k+10, val2=100+last_insert_rowid();            update t2 set val3=1000+last_insert_rowid();        end;        insert into t1 values (13);        select last_insert_rowid();    }} {0 13}# LIRID equals NEW.k upon entry into after insert triggerdo_test lastinsert-2.2 {    catchsql {        select val1 from t2;    }} {0 13}# LIRID changed properly by insert within context of after insert triggerdo_test lastinsert-2.3 {    catchsql {        select val2 from t2;    }} {0 126}# LIRID unchanged by update within context of after insert triggerdo_test lastinsert-2.4 {    catchsql {        select val3 from t2;    }} {0 1026}# ----------------------------------------------------------------------------# 3.x - tests with after update trigger# LIRID not changed after an update onto a table containing an after triggerdo_test lastinsert-3.1 {    catchsql {        delete from t2;        drop trigger r1;        create trigger r1 after update on t1 for each row begin            insert into t2 values (NEW.k*2, last_insert_rowid(), NULL, NULL);            update t2 set k=k+10, val2=100+last_insert_rowid();            update t2 set val3=1000+last_insert_rowid();        end;        update t1 set k=14 where k=3;        select last_insert_rowid();    }} {0 13}# LIRID unchanged upon entry into after update triggerdo_test lastinsert-3.2 {    catchsql {        select val1 from t2;    }} {0 13}# LIRID changed properly by insert within context of after update triggerdo_test lastinsert-3.3 {    catchsql {        select val2 from t2;    }} {0 128}# LIRID unchanged by update within context of after update triggerdo_test lastinsert-3.4 {    catchsql {        select val3 from t2;    }} {0 1028}# ----------------------------------------------------------------------------# 4.x - tests with instead of insert trigger# These may not be run if either views or triggers were disabled at # compile-timeifcapable {view && trigger} {# LIRID not changed after an insert into view containing an instead of triggerdo_test lastinsert-4.1 {    catchsql {        delete from t2;        drop trigger r1;        create trigger r1 instead of insert on v for each row begin            insert into t2 values (NEW.k*2, last_insert_rowid(), NULL, NULL);            update t2 set k=k+10, val2=100+last_insert_rowid();            update t2 set val3=1000+last_insert_rowid();        end;        insert into v values (15);        select last_insert_rowid();    }} {0 13}# LIRID unchanged upon entry into instead of triggerdo_test lastinsert-4.2 {    catchsql {        select val1 from t2;    }} {0 13}# LIRID changed properly by insert within context of instead of triggerdo_test lastinsert-4.3 {    catchsql {        select val2 from t2;    }} {0 130}# LIRID unchanged by update within context of instead of triggerdo_test lastinsert-4.4 {    catchsql {        select val3 from t2;    }} {0 1030}} ;# ifcapable (view && trigger)# ----------------------------------------------------------------------------# 5.x - tests with before delete trigger# LIRID not changed after a delete on a table containing a before triggerdo_test lastinsert-5.1 {    catchsql {      drop trigger r1;  -- This was not created if views are disabled.    }    catchsql {        delete from t2;        create trigger r1 before delete on t1 for each row begin            insert into t2 values (77, last_insert_rowid(), NULL, NULL);            update t2 set k=k+10, val2=100+last_insert_rowid();            update t2 set val3=1000+last_insert_rowid();        end;        delete from t1 where k=1;        select last_insert_rowid();    }} {0 13}# LIRID unchanged upon entry into delete triggerdo_test lastinsert-5.2 {    catchsql {        select val1 from t2;    }} {0 13}# LIRID changed properly by insert within context of delete triggerdo_test lastinsert-5.3 {    catchsql {        select val2 from t2;    }} {0 177}# LIRID unchanged by update within context of delete triggerdo_test lastinsert-5.4 {    catchsql {        select val3 from t2;    }} {0 1077}# ----------------------------------------------------------------------------# 6.x - tests with instead of update trigger# These tests may not run if either views or triggers are disabled.ifcapable {view && trigger} {# LIRID not changed after an update on a view containing an instead of triggerdo_test lastinsert-6.1 {    catchsql {        delete from t2;        drop trigger r1;        create trigger r1 instead of update on v for each row begin            insert into t2 values (NEW.k*2, last_insert_rowid(), NULL, NULL);            update t2 set k=k+10, val2=100+last_insert_rowid();            update t2 set val3=1000+last_insert_rowid();        end;        update v set k=16 where k=14;        select last_insert_rowid();    }} {0 13}# LIRID unchanged upon entry into instead of triggerdo_test lastinsert-6.2 {    catchsql {        select val1 from t2;    }} {0 13}# LIRID changed properly by insert within context of instead of triggerdo_test lastinsert-6.3 {    catchsql {        select val2 from t2;    }} {0 132}# LIRID unchanged by update within context of instead of triggerdo_test lastinsert-6.4 {    catchsql {        select val3 from t2;    }} {0 1032}} ;# ifcapable (view && trigger)# ----------------------------------------------------------------------------# 7.x - complex tests with temporary tables and nested instead of triggers# These do not run if views or triggers are disabled.ifcapable {trigger && view && tempdb} {do_test lastinsert-7.1 {    catchsql {        drop table t1; drop table t2; drop trigger r1;        create temp table t1 (k integer primary key);        create temp table t2 (k integer primary key);        create temp view v1 as select * from t1;        create temp view v2 as select * from t2;        create temp table rid (k integer primary key, rin, rout);        insert into rid values (1, NULL, NULL);        insert into rid values (2, NULL, NULL);        create temp trigger r1 instead of insert on v1 for each row begin            update rid set rin=last_insert_rowid() where k=1;            insert into t1 values (100+NEW.k);            insert into v2 values (100+last_insert_rowid());            update rid set rout=last_insert_rowid() where k=1;        end;        create temp trigger r2 instead of insert on v2 for each row begin            update rid set rin=last_insert_rowid() where k=2;            insert into t2 values (1000+NEW.k);            update rid set rout=last_insert_rowid() where k=2;        end;        insert into t1 values (77);        select last_insert_rowid();    }} {0 77}do_test lastinsert-7.2 {    catchsql {        insert into v1 values (5);        select last_insert_rowid();    }} {0 77}do_test lastinsert-7.3 {    catchsql {        select rin from rid where k=1;    }} {0 77}do_test lastinsert-7.4 {    catchsql {        select rout from rid where k=1;    }} {0 105}do_test lastinsert-7.5 {    catchsql {        select rin from rid where k=2;    }} {0 105}do_test lastinsert-7.6 {    catchsql {        select rout from rid where k=2;    }} {0 1205}do_test lastinsert-8.1 {  db close  sqlite3 db test.db  execsql {    CREATE TABLE t2(x INTEGER PRIMARY KEY, y);    CREATE TABLE t3(a, b);    CREATE TRIGGER after_t2 AFTER INSERT ON t2 BEGIN      INSERT INTO t3 VALUES(new.x, new.y);    END;    INSERT INTO t2 VALUES(5000000000, 1);    SELECT last_insert_rowid();  }} 5000000000} ;# ifcapable (view && trigger)finish_test

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性极品少妇| 中文字幕综合网| 日韩视频永久免费| 777午夜精品视频在线播放| 欧美日韩国产综合视频在线观看| 91丨九色丨国产丨porny| 91天堂素人约啪| 色综合久久综合网| 欧美在线色视频| 欧美日韩精品电影| 欧美一区二区福利在线| 欧美精品一区男女天堂| 国产亚洲欧洲一区高清在线观看| 国产亚洲欧洲997久久综合| 国产精品久久久久久久久快鸭 | 日韩丝袜美女视频| 日韩免费视频一区二区| 精品久久久久99| 中文欧美字幕免费| 亚洲欧美一区二区三区国产精品 | 精品欧美黑人一区二区三区| 精品国产乱码久久久久久夜甘婷婷 | 亚洲国产人成综合网站| 天天综合色天天| 麻豆一区二区在线| 国产精品一区一区三区| 成人h精品动漫一区二区三区| 99国产精品视频免费观看| 日本韩国欧美一区二区三区| 4438亚洲最大| 久久久久久久综合| 亚洲精品日产精品乱码不卡| 奇米在线7777在线精品| 国产suv精品一区二区883| 91黄视频在线| 精品久久人人做人人爱| 亚洲欧洲成人av每日更新| 亚洲小说春色综合另类电影| 久久不见久久见中文字幕免费| 成人激情校园春色| 欧美年轻男男videosbes| 久久影院午夜论| 一区二区三区四区精品在线视频| 日韩精品一级中文字幕精品视频免费观看 | 亚洲男人天堂一区| 日韩 欧美一区二区三区| 国产精一区二区三区| 色94色欧美sute亚洲线路一ni | 亚洲免费毛片网站| 美日韩一区二区| 99精品欧美一区二区三区综合在线| 欧美日韩国产经典色站一区二区三区| 精品伦理精品一区| 一区二区三区成人在线视频| 精品一区二区综合| 欧美视频中文一区二区三区在线观看| 日韩一区二区三区视频在线观看| 亚洲欧洲成人自拍| 国产乱码精品一区二区三区忘忧草| 色一情一伦一子一伦一区| 精品国产成人系列| 亚洲国产va精品久久久不卡综合| 国产**成人网毛片九色| 欧美一级高清大全免费观看| 日韩美女视频一区| 国产精品一区二区在线观看网站| 欧美三级电影在线看| 国产精品青草综合久久久久99| 青青草成人在线观看| 91久久免费观看| 中文字幕乱码久久午夜不卡| 美女www一区二区| 欧美亚洲另类激情小说| 国产精品久久久久久一区二区三区| 久久99久国产精品黄毛片色诱| 欧美日韩不卡视频| 综合色中文字幕| 国产999精品久久| 26uuu久久综合| 理论电影国产精品| 欧美二区在线观看| 亚洲国产精品麻豆| 91视频免费播放| 亚洲国产成人在线| 国产精选一区二区三区| 日韩欧美一级片| 视频一区欧美日韩| 欧美日韩在线播放三区| 亚洲欧美日韩在线不卡| 91在线看国产| 国产精品久久久久久久久免费相片| 国产精品自在欧美一区| 久久色视频免费观看| 麻豆精品新av中文字幕| 91精品国产91热久久久做人人 | 国产一区二区伦理| 精品日韩一区二区三区免费视频| 午夜精品久久久| 欧美性videosxxxxx| 亚洲国产日产av| 欧美专区在线观看一区| 亚洲免费毛片网站| 色视频一区二区| 又紧又大又爽精品一区二区| 91首页免费视频| 玉足女爽爽91| 欧美人伦禁忌dvd放荡欲情| 午夜精品视频一区| 3d成人动漫网站| 奇米色777欧美一区二区| 日韩视频免费观看高清完整版 | 久久这里只有精品首页| 国产精品一二三区| 欧美激情一区在线| 成人黄色777网| 亚洲激情在线播放| 欧美日韩国产高清一区二区| 三级不卡在线观看| 日韩一区二区三区视频在线 | 91在线精品一区二区| 一二三区精品视频| 欧美日韩一区中文字幕| 日本aⅴ精品一区二区三区| 日韩精品一区二区三区swag| 国产一区二区三区久久久| 国产精品国产三级国产普通话99 | 欧美人体做爰大胆视频| 免费看日韩a级影片| 久久久精品tv| 一本大道久久a久久综合| 亚洲va中文字幕| 精品国产乱码91久久久久久网站| 丰满亚洲少妇av| 亚洲午夜久久久| 欧美成人综合网站| 成人黄色片在线观看| 亚洲国产婷婷综合在线精品| 日韩女优电影在线观看| 成人国产精品免费网站| 亚洲小少妇裸体bbw| 精品对白一区国产伦| 91免费小视频| 奇米一区二区三区av| 国产精品国产三级国产aⅴ无密码| 欧美专区日韩专区| 国产剧情一区二区| 伊人色综合久久天天人手人婷| 欧美一区二区三区在线看| 成人一级黄色片| 丝袜亚洲另类欧美| 国产精品美女久久久久aⅴ| 在线中文字幕不卡| 国产露脸91国语对白| 亚洲成人手机在线| 国产精品久久久久久久久晋中| 欧美日韩国产精选| 不卡av电影在线播放| 日韩 欧美一区二区三区| 成人免费在线视频观看| 日韩免费高清电影| 欧美吞精做爰啪啪高潮| 国产毛片精品国产一区二区三区| 亚洲精品第一国产综合野| 精品欧美一区二区久久| 欧美性猛交一区二区三区精品| 国产一区在线观看视频| 午夜一区二区三区视频| 欧美韩国日本综合| 欧美成人一区二区三区片免费| 日本乱人伦aⅴ精品| 国产高清无密码一区二区三区| 五月激情综合网| 亚洲伦理在线精品| 国产免费观看久久| 日韩欧美综合一区| 欧美日韩国产首页在线观看| av不卡免费电影| 成人午夜短视频| 激情欧美日韩一区二区| 丝袜a∨在线一区二区三区不卡| 亚洲婷婷在线视频| 日本一区二区三区电影| 欧美成人精品3d动漫h| 欧美三级视频在线播放| 色老汉av一区二区三区| 成人sese在线| 丁香亚洲综合激情啪啪综合| 国产久卡久卡久卡久卡视频精品| 日av在线不卡| 肉肉av福利一精品导航| 亚洲v精品v日韩v欧美v专区| 亚洲午夜羞羞片| 一区二区三区免费观看| 亚洲视频免费观看| 亚洲欧洲在线观看av| 国产精品初高中害羞小美女文| 国产清纯白嫩初高生在线观看91 | 欧美军同video69gay| 在线观看av一区| 日本道色综合久久|