if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_menu]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t_menu] GO
CREATE TABLE [dbo].[t_menu] ( [ID] [int] NOT NULL , *主键
[F1] [int] NULL , *子类的id 吗
[F1NAME] [char] (50) COLLATE Chinese_PRC_CI_AS NULL , *子类的名称
[F2] [int] NULL , *父类的
id [F2NAME] [char] (50) COLLATE Chinese_PRC_CI_AS NULL * 父类的名称 )
ON [PRIMARY] GO
数据如下:
1 部门一 1 dev1
2 2 科室2 1 DEV1
3 3 科室3 1 DEV1
4 4 科室4 1 DEV1
5 部门二 2 DEV2
6 5 科室5 2 DEV2
7 6 科室6 2 DEV2
-------------------------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_menu_detail]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t_menu_detail] GO
CREATE TABLE [dbo].[t_menu_detail] (
[id] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL , *主键
[nameid] [int] NULL , *对应人员表的id号
[menuid] [int] NULL *对应t_menu 的id号 )
ON [PRIMARY] GO
数据:
1 1 1
2 1 2
3 2 5
4 2 6
5 2 7
6 1 4
7 1 3
---------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_person]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t_person] GO
CREATE TABLE [dbo].[t_person] (
[id] [int] NOT NULL , *人员表,比较简单
[name] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[sex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL )
ON [PRIMARY] GO
数据:
1 cf m
2 wm w
--------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_workflow]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t_workflow] GO
CREATE TABLE [dbo].[t_workflow] (
[id] [int] NOT NULL , *工作流的主表,id
[workflowname] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ) *名称
ON [PRIMARY] GO
数据:
1 工作标准流程
2 测试流程
-------------------------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[t_workflow_detail]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[t_workflow_detail] GO
CREATE TABLE [dbo].[t_workflow_detail] ( [id] [int] NOT NULL , *主键
[workflow_id] [int] NULL , *对应工作流主表的id吗
[first_station] [char] (10)COLLATE Chinese_PRC_CI_AS NULL , *开始站
[first_status] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , *开始站时的状态
[next_station] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , *下一人是谁
[next_status] [char] (10) COLLATE Chinese_PRC_CI_AS NULL) *下一站的状态
ON [PRIMARY] GO
数据:
1 1 A 0 B 1
2 1 B 1 C 2
3 1 C 2 D 3
=========================================================
select t1.id, t1.f1, t1.f1name, t1.f2, t1.f2name
from t_menu as t1, t_menu_detail as t2, t_person as t3
where t1.id = t2.menuid
and t2.nameid = t3.id
and t3.id = '1'
这一段可以查出人员id号为'1'的人,菜单.
===========================================================
工作流的说明:
t_workflow为工作流的主表.
t_workflow_detail为明细表. 按照工作流主表id吗,可以关联到工作流明细表中去.
(用工作流主表的id对应找到工作注明细表的workflow_id,可以找到流程的所有过程,
如果要找当前人的信念流程,first_station 这个和人员表的人员id关联就可以.)