海妖 发表于 2015-1-16 22:35:28

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资源

仓酷云 发表于 2015-1-17 08:53:51

学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!

因胸联盟 发表于 2015-1-20 15:52:56

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油

分手快乐 发表于 2015-1-29 12:46:01

总感觉自己还是不会SQL

小魔女 发表于 2015-2-6 00:55:01

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

活着的死人 发表于 2015-2-14 17:58:46

代替了原来VB式的错误判断。比Oracle高级不少。

透明 发表于 2015-3-4 09:39:07

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

变相怪杰 发表于 2015-3-11 18:10:14

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

冷月葬花魂 发表于 2015-3-11 18:10:11

比如日志传送、比如集群。。。

再见西城 发表于 2015-3-19 06:21:35

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

若天明 发表于 2015-3-27 09:10:57

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
页: [1]
查看完整版本: MSSQL编程:几个测试SQL,测试SQL处置字符串