MSSQL编程:几个测试SQL,测试SQL处置字符串
我们分析上面的两个操作,都有一个“删除数据”的过程。字符串droptableifexistscategory;
createtableifnotexistscategory
(
c_Idbigintnotnull,
c_namevarchar(255)default,
c_typeintdefault1,
primarykey(c_ID)
);
droptableifexistsfiles;
createtableifnotexistsfiles
(
f_Idbigintnotnull,
c_idbigintnotnull,
f_namevarchar(255)default,
f_midstext,
primarykey(f_ID)
);
droptableifexistsmembers;
createtableifnotexistsmembers
(
m_Idbigintnotnull,
m_namevarchar(255)default,
primarykey(m_ID)
);
insertintocategory(c_id,c_name,c_type)values(1,public,1);
insertintocategory(c_id,c_name,c_type)values(2,private,2);
insertintocategory(c_id,c_name,c_type)values(3,upload,3);
insertintocategory(c_id,c_name,c_type)values(4,member001,4);
insertintocategory(c_id,c_name,c_type)values(5,member002,4);
insertintofiles(f_id,c_id,f_name,f_mids)values(1,1,F_public,1,2);
insertintofiles(f_id,c_id,f_name,f_mids)values(2,1,F_public,1);
insertintofiles(f_id,c_id,f_name,f_mids)values(3,1,F_public,3,4);
insertintofiles(f_id,c_id,f_name,f_mids)values(4,2,F_private,1,2);
insertintofiles(f_id,c_id,f_name,f_mids)values(5,2,F_private,1);
insertintofiles(f_id,c_id,f_name,f_mids)values(6,2,F_private,3,4);
insertintofiles(f_id,c_id,f_name,f_mids)values(7,3,F_upload,1,2);
insertintofiles(f_id,c_id,f_name,f_mids)values(8,3,F_upload,1);
insertintofiles(f_id,c_id,f_name,f_mids)values(9,3,F_upload,3,4);
insertintofiles(f_id,c_id,f_name,f_mids)values(10,4,F_upload,1,2);
insertintofiles(f_id,c_id,f_name,f_mids)values(11,4,F_upload,1);
insertintofiles(f_id,c_id,f_name,f_mids)values(12,4,F_upload,3,4);
insertintofiles(f_id,c_id,f_name,f_mids)values(13,5,F_upload,1,2);
insertintofiles(f_id,c_id,f_name,f_mids)values(14,5,F_upload,1);
insertintofiles(f_id,c_id,f_name,f_mids)values(15,5,F_upload,3,4);
#此SQL数据就为多目次及其目次上面的文件列表
select*fromcategoryasA,filesasB,membersasCWhereA.c_id=B.c_idorderbyB.c_type,B.c_id;
insertintomembers(m_id,m_name)values(1,A);
insertintomembers(m_id,m_name)values(2,B);
insertintomembers(m_id,m_name)values(3,C);
insertintomembers(m_id,m_name)values(4,D);
SELECT*FROMmembers;
#---获得A(id=1)会员有权限的文件列表
#INSTR(concat(,,f_mids,,),,1,)>0暗示此文件联系关系的Member字段内里存在此ID,
#即暗示会员ID为1会员能够检察此文件
SELECTLOCATE(,1,,,1,2,3,);
Selectf_id,f_name,f_mids,
INSTR(concat(,,f_mids,,),,1,)ASchecked
Fromfiles
whereINSTR(concat(,,f_mids,,),,1,)>0;
支持多线程,充分利用CPU资源 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! 多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油 总感觉自己还是不会SQL 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 代替了原来VB式的错误判断。比Oracle高级不少。 外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。 作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题! 比如日志传送、比如集群。。。 对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。 是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
页:
[1]