SQL规范化的数据修改语句
2011-12-14 12:31
323 查看
1 增加字段
2 存储过程
3 创建表
4 游标
IF NOT EXISTS (SELECT * FROM SYSCOLUMNS WHERE ID=OBJECT_ID('QueryDataSource') and name = 'IsCrossTable') BEGIN ALTER TABLE QueryDataSource ADD IsCrossTable bit default(0) --插入字段 END
2 存储过程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PLSystem_Insert]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[PLSystem_Insert] go CREATE PROCEDURE dbo.PLSystem_Insert ( @PLSystemID smallint, @PLSystemName varchar(20), @PLSystemFlag char(2) ) AS INSERT INTO dbo.PLSystem ( PLSystemID, PLSystemName, PLSystemFlag ) VALUES ( @PLSystemID, @PLSystemName, @PLSystemFlag ) go if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PLSystem_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[PLSystem_Delete] go CREATE PROCEDURE dbo.PLSystem_Delete ( @PLSystemID smallint ) AS DELETE FROM dbo.PLSystem WHERE PLSystemID = @PLSystemID go if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PLSystem_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[PLSystem_Update] go CREATE PROCEDURE dbo.PLSystem_Update ( @PLSystemID smallint, @PLSystemName varchar(20), @PLSystemFlag char(2) ) AS UPDATE dbo.PLSystem SET PLSystemName = @PLSystemName, PLSystemFlag = @PLSystemFlag WHERE PLSystemID = @PLSystemID go
3 创建表
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PLSystem]') AND type in (N'U')) DROP TABLE [dbo].[PLSystem] GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[PLSystem]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[PLSystem]( [PLSystemID] [tinyint] NOT NULL, [PLSystemName] [varchar](20) NULL, [PLSystemFlag] [char](2) NULL, CONSTRAINT [XPKPLSystem] PRIMARY KEY CLUSTERED ( [PLSystemID] ASC ) ) ON [PRIMARY] END GO
4 游标
Begin declare @PluserID varchar(8) declare pluserCurse Cursor for select PLUserID from PLUser where PCancelJudge=0 open pluserCurse --打开游标 fetch next from pluserCurse into @PluserID while @@FETCH_STATUS=0 begin print (@PluserID) insert into PLUserActorDepart(DepartID,PLActorSystemID,PLUserID) select DepartmentID,PLSystemID,PLUserID from MSUserRight where MSUserRight.DepartmentID not in ( select DepartmentID from PLDepartment where PLDepartment.DParent=(select DepartmentID from PLUser where PLUserID=@PluserID ) OR PLDepartment.DepartmentID=(select DepartmentID from PLUser where PLUserID =@PluserID) ) AND MSUserRight.PLUserID=@PluserID fetch next from pluserCurse into @PluserID end close pluserCurse deallocate pluserCurse end
相关文章推荐
- SQL规范化的数据修改语句
- 规范化的SQL数据修改语句总结
- 规范化的SQL数据修改语句总结
- mysq对数据的l查询,增加,修改和删除sql语句
- 修改数据表及数据库联机脱机的SQL语句
- SQL语句汇总(二)——数据修改、数据查询
- 不用SQL语句直接修改数据
- SQL语句汇总(二)——数据修改、数据查询
- 笔记:mysql修改数据表表名sql语句。
- 用sql命令修改数据表中的一个字段为非空(not null)的语句
- 用sql命令修改数据表中的一个字段为非空(not null)的语句
- 常用数据表结构修改sql语句
- sql语句修改access中的字段类型,access数据类型大全!
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 用sql语句批量修改数据
- 利用修改AccessDataSource的sql语句来检索数据
- SQL根据一个表的数据修改另一表数据的语句
- 创建、删除、修改、复制表结构和复制数据SQL语句
- 在修改数据的SQL语句中使用OUTPUT子句带来的好处
- 在PB中动态修改数据窗口DW的SQL语句方法注意事项