规范化的SQL数据修改语句总结
数据库  /  管理员 发布于 5年前   204
1 增加字段 
复制代码 代码如下: 
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 
 
5 用while实现for循环 
复制代码 代码如下: 
Create Proc InsertSQL 
AS 
Begin 
DECLARE @Count int 
set @Count=0; 
While(@Count<200000) 
Begin 
Print(@Count); 
Insert into Student values('YOUNG','M',100,'FUJIANXIAMENT'); 
set @Count=@Count+1; 
END 
END 
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
			Copyright·© 2019 侯体宗版权所有·
			粤ICP备20027696号
			
			
