规范化的SQL数据修改语句总结

 更新时间:2012年11月13日 12:06:28   作者:  
本文将提供一些标准的SQL句,可供一些有需求的朋友参考
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

相关文章

  • SQL更新与删除数据操作示例详解

    SQL更新与删除数据操作示例详解

    如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句,下面这篇文章主要给大家介绍了关于SQL查询语句更新和删除数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 如何通过配置自动实现ValueList中hql语句的整型参数转换

    如何通过配置自动实现ValueList中hql语句的整型参数转换

    本篇文章是对通过配置自动实现ValueList中hql语句的整型参数转换进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql优化的重要参数 key_buffer_size table_cache

    mysql优化的重要参数 key_buffer_size table_cache

    MySQL服务器端的参数有很多,但是对于大多数初学者来说,众多的参数往往使得我们不知所措,但是哪些参数是需要我们调整的,哪些对服务器的性能影响最大呢
    2016-05-05
  • 提高MySQL中数据装载效率

    提高MySQL中数据装载效率

    很多时候关心的是优化SELECT 查询,因为它们是最常用的查询,而且确定怎样优化它们并不总是直截了当。
    2009-11-11
  • MySQL索引优化之不适合构建索引及索引失效的几种情况详解

    MySQL索引优化之不适合构建索引及索引失效的几种情况详解

    索引是有双面性的,合理的建立索引可以提高数据库的效率。但是如果没有合理的构建索引和使用索引,可能会导致索引失效或者影响数据库性能,本文主要讨论的是索引失效以及不适合建立索引的场景
    2022-07-07
  • mysql blocked because of many connection errors解决记录

    mysql blocked because of many connection errors解决记录

    这篇文章主要为大家介绍了mysql blocked because of many connection errors解决方法记录,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 解决JDBC的class.forName()问题

    解决JDBC的class.forName()问题

    这篇文章主要介绍了关于JDBC的class.forName()问题,比较两个Java文件可见,连接Db2和连接MySQL的方式非常类似,唯一的区别在于,调用 DriverManager.getConnection() 方法时,传入的URL不同,本文给大家详细讲解,需要的朋友参考下
    2022-09-09
  • Mac下忘记Mysql的root用户密码的解决方法

    Mac下忘记Mysql的root用户密码的解决方法

    mac中安装MySQL时系统会自动为root 账户生成一个密码(改密码一般为一个不好记的字符串),若自己没有记住改密码,这时 mysql 就无法进入了。解决方案是修改root 账户的密码,问题是mysql进不去如何修改,下面就是改问题的解决方法:
    2017-03-03
  • Mysql注入中的outfile、dumpfile、load_file函数详解

    Mysql注入中的outfile、dumpfile、load_file函数详解

    这篇文章主要介绍了Mysql注入中的outfile、dumpfile、load_file,需要的朋友可以参考下
    2018-05-05
  • MySQL数据库高级查询和多表查询

    MySQL数据库高级查询和多表查询

    这篇文章主要介绍了MySQL数据库高级查询和多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论