USE [SchoolDB]
GO
/****** 对象: Table [dbo].[WZOU_SysPermission] 脚本日期: 10/28/2014 11:05:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[WZOU_SysPermission](
[TeacherId] [nchar](8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Specialty] [nvarchar](16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ClassName] [nvarchar](16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Permission] [bigint] NOT NULL,
[Remark] [nvarchar](512) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_WZOU_SysPermission] PRIMARY KEY CLUSTERED
(
[TeacherId] ASC,
[Specialty] ASC,
[ClassName] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'教师编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WZOU_SysPermission', @level2type=N'COLUMN',@level2name=N'TeacherId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专业(字典库 DicType=05)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WZOU_SysPermission', @level2type=N'COLUMN',@level2name=N'Specialty'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级(字典库 DicType=07)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WZOU_SysPermission', @level2type=N'COLUMN',@level2name=N'ClassName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'权限字段' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WZOU_SysPermission', @level2type=N'COLUMN',@level2name=N'Permission'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WZOU_SysPermission', @level2type=N'COLUMN',@level2name=N'Remark'
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATEPROCEDURE [dbo].[UpdateSysPermission]
-- Add the parameters for the stored procedure here
(
@TeacherId nchar(8),
@Specialty nvarchar(16),
@ClassName nvarchar(16),
@Permission bigint,
@Remark nvarchar(512) = ''
)
AS
BEGIN
DECLARE @StrSQL NVARCHAR(2000)
DECLARE @Count int
SELECT @Count=count(*) FROM WZOU_SysPermission WHERE TeacherId=@TeacherId AND Specialty=@Specialty AND ClassName=@ClassName
SET @StrSQL = 'SELECT * FROM WZOU_SysPermission WHERE TeacherId = N''' + @TeacherId + ' AND Specialty = N'''+ @Specialty +' AND ClassName = N''' + @ClassName
PRINT(@Count)
IF EXISTS(SELECT * FROM WZOU_SysPermission WHERE TeacherId=@TeacherId AND Specialty=@Specialty AND ClassName=@ClassName)
BEGIN
PRINT(@StrSQL)
END
IF (@Count = 0)
BEGIN
SET @StrSQL = 'INSERT INTO WZOU_SysPermission (TeacherId, Specialty, ClassName, Permission, Remark) VALUES(N''' + @TeacherId + ''', N''' + @Specialty + ''', N''' + @ClassName + ''', ' + convert(nvarchar,@Permission) + ', N''' + @Remark + ''')'
END
ELSE
BEGIN
SET @StrSQL = 'UPDATE WZOU_SysPermission SET Permission = ' + convert(nvarchar,@Permission) + ', Remark = N''' + @Remark + ''' WHERE (TeacherId = N''' + @TeacherId + ''' AND Specialty = N''' + @Specialty + ''' AND ClassName = N''' + @ClassName + ''')'
END
PRINT(@StrSQL)
EXEC(@StrSQL)
END
//测试
UpdateSysPermission @TeacherId='00000000',@Specialty=N'会计',@ClassName=N'1班',@Permission= 3
分享到:
相关推荐
包括了《Microsoft SQL Server 2005技术内幕》四本书...《Microsoft SQL Server 2005技术内幕:存储引擎》 《Microsoft SQL Server 2005技术内幕:T-SQL查询 》 《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》
存储过程教学资料(含无输入参数、输入参数、输出参数等存储过程教学实例)方便练习!
对于同一个针对数据库对象的操作,如果这一操作所涉及到的T-SQL语句被组织成一存储过程,那么当在客户机上调用该存储过程时,网络中传递的只是该调用语句,否则将会是多条SQL语句。从而减轻了网络流量,降低了网络...
SQL 2005 中触发器、事务,存储过程、视图_T-SQL语句的详细讲解课程学习PPT(含有实例和作业题)
--T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象, --以及查询、插入、修改和删除数据。 --Ø 变量 --1、局部变量(Local Variable) --局部变量是用户可以自定义的变量,它的作用范围是仅在...
帮助那些想尽快学习存储过程 实例:create PROCEDURE pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int...
SQL Server 数据库技术---基础篇(T-SQL基础、数据库几本操作、SQL Server 2008新特性)、数据库安全(SQL Server 2008 安全数据文件安全与灾难恢复、 复制)、SQL开发(数据库设计、SQL Server与CLR集成、在SQL ...
在SQL Server 2005中,使用T-SQL语句编写存储过程。存储过程可以接受输入参数、返回表格或标量结果和消息,调用“数据定义语言(DDL)”和“数据操作语言(DML)”语句,然后返回输出参数。使用存储过程的优点如下:...
SQL的实验指导,包括了数据库创建与删除,数据库表的创建和修改,简单查询,多表查询,数据库更新操作,T-SQL编程,存储过程和触发器,数据库完整性和安全性,不同数据源的数据导入和导出数据库,数据库的备份与还原...
报表服务、分析服务和集成服务,然后讲解了如何利用索引、视图、函数、存储过程、游标及触发器来管 理和提高T-SQL的查询和操作功能,还讲解了通过ASP.NET和Visual C#2008访问SQL Server 2008数据库 的方法与技巧,...
报表服务、分析服务和集成服务,然后讲解了如何利用索引、视图、函数、存储过程、游标及触发器来管 理和提高T-SQL的查询和操作功能,还讲解了通过ASP.NET和Visual C#2008访问SQL Server 2008数据库 的方法与技巧,...
LINQ to SQL语句(20)之存储过程 63 1.标量返回 63 2.单一结 果集 64 3.多个可 能形状的单一结果集 65 4.多个结果集 70 5.带输出参数 79 LINQ to SQL语句(21)之用户定义函数 80 1.在Select中使用用户定义的标量函数 ...
《SQL Server 2008管理员必备指南》的特点是按照日常工作的逻辑来编排内容,并含有大量实例操作指导、技巧提示及T-SQL代码,方便管理员日常的工作。 《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,...
本书对SQL Server 2005存储引擎方面的知识进行了全面而详细的阐述,包括数据库文件、日志和恢复、表、索引及其管理、锁定和并发等内容。除了解释设计理念与运作原理外,书中还辅之以大量简短而有力的实例。您将跟随...
创建一个 sub_track的存储过程实现: -- 创建一个 名为sub_track的存储过程 CREATE PROCEDURE sub_track() begin declare i int; -- 定义 循环变量i set @imei =0; -- 定义imei最后两位 set @t_count=0; -- 定义...
查看数据库启动时间 select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1 查看数据库服务器名和实例名 print ”Server Name……………: ” + convert(varchar(30),@...
有关树的运用和存储过程.t 有关连接的查询语句.txt 末公开的存储过程.txt 极品分组排列进行行转列例 查询 时间1.txt 查询替换字符串.sql 模糊查寻.txt 类似于树查询.txt 练习.txt 获得数据库中表字段的...
SQL 语法大全 1 基础知识 2 数据库操作 3 表的操作 4 数据完整性 5 数据查询 6 视图和索引 7 T-SQL 8 存储过程和触发 9 实例练习
8.3 使用T-SQL编辑视图 8.4 删除视图 8.5 审核:显示现有代码 8.6 保护代码:加密视图 8.7 关于模式绑定 8.8 使用VIEW METADATA使自己的视图看起来像一个表 8.9 索引(物化)视图 8.10 分区...
csdn sql server版块超级大版主的开发实例,共15章,包括安装和配置SQL Server、日期处理、字符处理、排序规则、编号处理、数据统计与汇总、分页处理、树形数据处理、数据导入与导出、作业、数据备份与还原。