仓酷云
标题:
MSSQL网页设计SQL实例代码:取栏目树,过滤用户权限和无...
[打印本页]
作者:
萌萌妈妈
时间:
2015-1-16 22:15
标题:
MSSQL网页设计SQL实例代码:取栏目树,过滤用户权限和无...
mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗</p>文由网友whl供稿,特此感激!
/**
*Desc:取栏目树,过滤用户权限和有效栏目
*Author:WHL
*Date:2009-05-3115:17
*/
/**1.取某用户有权限(np_cms_column_security表有纪录且t.action_1=‘1′)的栏目标树**/
01.
create
or
replace
view
V_NP_CTREE_BS
as
02.
select
B.*
from
(
03.
select
A.*,lag(A.column_id)over(partition
by
A.column_id
order
by
0)RK
04.
from
(
select
/*+choose*/
05.t.*
06.
from
np_cms_columnt
07.
where
t.is_active=
1
08.
connect
by
prior
t.column_id=t.parent_id
09.start
with
t.column_id
in
(
select
t.column_id
10.
from
np_cms_column_securityt
11.
where
t.subject_id=
mazj
12./*这里增加脚色过滤*/
13.
and
t.action_1=
1
))A)B
14.
where
not
exists
15.(
select
0
16.
from
(
select
distinct
d.column_id
17.
from
np_cms_columnd
18.
connect
by
prior
d.column_id=d.parent_id
19.start
with
d.column_id
in
20.(
select
t.column_id
21.
from
np_cms_column_securityt
22.
where
t.subject_id=
mazj
23./*这里增加脚色过滤*/
24.
and
t.action_1=
0
25./*扫除有权限树下的非受权ID,既Action_1=0的*/
26.
and
exists
27.(
select
0
28.
from
(
select
distinct
d.column_id
29.
from
np_cms_columnd
30.
connect
by
prior
d.column_id=
31.d.parent_id
32.start
with
d.column_id
in
33.(
select
t.column_id
34.
from
np_cms_column_securityt
35.
where
t.subject_id=
36.
mazj
37./*这里增加脚色过滤*/
38.
and
t.action_1=
1
))C1
39.
where
C1.column_id=t.column_id))
40.
and
d.is_active=
1
)C
41.
where
C.column_id=B.column_id
and
B.RK
is
null
)
and
B.RK
is
null
42.
union
all
43.
select
c.*,0RK
from
np_cms_columnc
where
c.parent_id=0;
————————————————————————
/**2.失掉栏目标假造父亲ID(思索到把断层的节点接起来)**/
01.
create
or
replace
view
V_NP_CTREE_PA
as
02.
select
B.*,
03.(
case
B.column_id
04.
when
1
then
0
else
nvl(B.father,1)
end
)VFA
05.
from
(
select
v.*,
06.(
select
vv.column_id
07.
from
V_NP_CTREE_BSvv
08.
where
vv.column_id=v.parent_id)FATHER
09.
from
V_NP_CTREE_BSv)B;
————————————————————————
/**3.掏出流派必要的栏目树**/
1.
--createorreplaceviewV_NP_CTREE_RSas
2.
select
3.D.*,LPAD(
,2*
level
-1)SYS_CONNECT_BY_PATH(D.COLUMN_NAME,
/
)"Path"
4.
from
(
select
c.*
5.
from
V_NP_CTREE_PAc
6.
order
by
c.VFA,c.disorder
desc
,c.column_id
desc
)D
7.
connect
by
prior
D.column_id=D.VFA
8.start
with
D.column_id=1;
目前的方案是用mysqlbinlog工具,增加一个flashback参数,输出结果为一个新的binlog文件――姑且叫做flashbacklog,这个flashbacklog顺序执行,可制定某张表和执行到哪个pos,来实现数据库的闪回。
作者:
admin
时间:
2015-1-19 06:18
大家注意一点。如下面的例子:
作者:
简单生活
时间:
2015-1-26 19:33
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
作者:
飘灵儿
时间:
2015-2-4 20:47
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者:
只想知道
时间:
2015-2-10 09:01
是要和操作系统进行Socket通讯的场景。否则建议慎重!
作者:
萌萌妈妈
时间:
2015-3-1 07:44
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
作者:
莫相离
时间:
2015-3-10 13:10
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
作者:
愤怒的大鸟
时间:
2015-3-17 08:10
索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。
作者:
再见西城
时间:
2015-3-24 03:55
呵呵,这就是偶想说的
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2