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

2014-10-12  来源:本站原创  分类:Mysql  人气:0 

本文将提供一些标准的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 [email protected] )
OR PLDepartment.DepartmentID=(select DepartmentID from PLUser where PLUserID [email protected])
) AND [email protected]
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 @[email protected]+1;
END
END
相关文章
  • 规范化的SQL数据修改语句总结 2014-10-12

    本文将提供一些标准的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 (sele

  • 用sql命令修改数据表中的一个字段为非空(not null)的语句 2013-10-04

    今天群里的一个朋友问如何用sql命令修改数据表中的一个字段为非空(not null),经常测试下面的代码即可. ALTER TABLE table1 ALTER COLUMN [name] varchar(60) NULL; table1 表名 name 字段名 为什么加上[],因为name是sql关键字会冲突出现错误,这样以防万一. 如果name字段已经创建了索引,如果需要修改的话,必须先删除索引才能正确的进行.

  • sql 存储过程批量删除数据的语句 2014-01-12

    sql 存储过程批量删除数据的语句,需要的朋友可以参考下 Create PROCEDURE Batch_Delete @TableName nvarchar(100), --表名 @FieldName nvarchar(100), --删除字段名 @DelCharIndexID nvarchar(1000) as DECLARE @PointerPrev int DECLARE @PointerCurr int DECLARE @TId NVARCHAR(50), @sql NVARCHAR(1

  • 基于SQL中的数据查询语句汇总 2014-01-21

    以下是对SQL中的数据查询语句进行了汇总介绍,需要的朋友可以过来参考下 where条件表达式 --统计函数 Select count(1) from student; --like模糊查询 --统计班上姓张的人数 复制代码 代码如下: select count(*) from student where realName like '张%'; --统计班上张姓两个字的人数 复制代码 代码如下: select count(*) from student where realName like '张

  • SQL 导入导出Excel数据的语句 2014-05-15

    从Excel文件中,导入数据到SQL数据库中,很简单 --从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c

  • SQL学习笔记二 创建表.插入数据的语句 2014-08-29

    SQL学习笔记二 创建表.插入数据的语句,需要的朋友可以参考下. 创建一个表T_Employee并插入若干数据 create table T_Employee(FNumber VARCHAR(20),FName VARCHAR(20),FAge int,FSalary NUMERIC(10,2) ,PRIMARY KEY(FNumber)); insert into T_Employee(FNumber,FName,FAge,FSalary) values('DEV001','Tom',25,8

  • 根据sql脚本修改数据库表结构的几种解决方案 2013-12-12

    这篇文章主要介绍了如何根据sql脚本修改数据库表结构,需要的朋友可以参考下 最近由于项目需要要做一个小工具. 需求:客户用的老库并存储了一些数据,用了一段时间,我们根据客户提出新功能在老库的基础上对新库进行修改.这些修改有很多细节方面的修改,包含存储过程,增加表,修改表字段类型,添加字段. 然后我们自己更新并测试好软件后,需要改动客户那边的老库,老库的数据是要保存的. 解决方案一:很快我就想到用SQL SERVER 08 R2 自带的功能,生成新库脚本.把老库改个名字,跑新库脚本,然后通过数据库

  • sql条件查询语句的简单实例 2013-10-24

    这篇文章介绍了sql条件查询语句的简单实例,有需要的朋友可以参考一下 //创建成绩表 create table result( stu_id varchar2(20) not null, china number(9,2) null, math number(9,2) null, english number(9,2) null ); //插入数据 insert into result values('0001',60,20,80); insert into result values('000

  • Oracle中在pl/sql developer修改表的2种方法 2013-12-19

    Oracle中在pl/sql developer修改表的2种方法,需要的朋友可以参考一下 一.方式一 select * from student for update student表需要操作人修改完commit之后才可以做其他的操作,否则该表会被锁住. 二.方式二 select t.*,t.rowid from student t 在pl/sql developer中右击某表,显示的就是该语句,这样做不会将该表锁住. 想修改某几个字段也没有问题select num,name,t.rowid f

  • sql实现修改表字段名的方法详解 2014-06-21

    本篇文章是对sql实现修改表字段名进行了详细的分析介绍,需要的朋友参考下 sp_rename N'表名.字段名','新字段名','column' sp_rename更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] 参数[@objname =] 'object_name' 是

  • SQL Server 游标语句 声明/打开/循环实例 2015-02-20

    游标属于行级操作 消耗很大 SQL查询是基于数据集的所以一般查询能有 能用数据集 就用数据集 别用游标 数据量大 是性能杀手 SQL Server游标语句使用方法: --声明一个游标 DECLARE MyCursor CURSOR FOR SELECT TOP 5 FBookName,FBookCoding FROM TBookInfo//定义一个叫MyCursor的游标,存放for select 后的数据 --打开一个游标 OPEN MyCursor//即打开这个数据集 --循环一个游标 DE

  • 如何高效地将SQL数据映射到NoSQL存储系统中 2014-12-30

    通常来说,我们都知道: SQL数据库只限在单机上运行,但它提供了更强的事务管理.schema与查询功能. NoSQL数据库为了伸缩性与容错性的目的,放弃了事务管理与schema. 而FoundationDB的SQL层结合了这两个方面:它首先是一个开源的SQL数据库,能够线性地伸缩与提升容错性,并且还具有真正的ACID事务功能.曾经互不相容的两种特性,现在已融合在一个统一的系统中. 对于处于以下几种情况的公司来说,这一特性是非常重要的: 新的项目要为大规模的伸缩性进行计划. 现有的项目遇到了数据库

  • Mysql命令行导入sql数据 2013-10-14

    下面是在命令行下导入sql数据的方法,需要的朋友可以参考下. 我的个人实践是:phpmyadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use KKK(数据库名,如果没有就 create database KKK) set names 'utf8' source abc.sql 注意:我看到 set character set utf8; 的说法,那样不行,中文乱码. 1.首先在命令行控制

  • 关于SQL Server查询语句的使用 2013-10-22

    本篇文章介绍了,关于SQL Server查询语句的使用.需要的朋友参考下 一.查询第二个字母是t或者a的雇员的全部信息 select * from employees where firstname like '_[t,a]%' 注意:在sql中%表示字符串,所以不可像matlab一样用其注释,两个双斜线好像也不行,/**/可以,有网友说sql单行注释为-- 二.更改字段名 复制代码 代码如下: select '名字' = firstname ,'姓氏' = lastname from empl

  • Oracle中PL/SQL中if语句的写法介绍 2014-05-21

    以下是对Oracle中PL/SQL中if语句的写法进行了详细的分析介绍,需要的朋友可以过来参考下 /* If语句: 判断用户输入的数字. */ set serveroutput on --接收键盘输入 accept num prompt '请输入一个数字:'; declare --将屏幕输入的数字付给变量 pnum number := # begin if pnum = 0 then dbms_output.put_line('您输入的是0'); end if; if pnum = 1 then

  • Mysql命令行导入sql数据的代码 2014-06-04

    Mysql命令行导入sql数据的实现方法是我们经常会用到的,下面就为你详细介绍Mysql命令行导入sql数据的方法步骤,希望对您学习Mysql命令行方面能有所帮助. 我的个人实践是:phpmyadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use KKK(数据库名,如果没有就 create database KKK) set names 'utf8' source abc.sql 注意:我

  • getSQLinfo.vbs 获得SQL数据/日志空间使用情况的脚本 2014-11-13

    这个脚本可以获取SQL数据/日志的空间使用情况方便及时了解sql使用空间情况 获得SQL数据/日志空间使用,已使用的和未使用的空间的脚本 getSQLinfo.vbs 'script to get SQL DATA/LOG Space Used, Space unused, and Space Free 'Author: Felipe Ferreira, Daniel Magrini 'Date: 05/07/07 'Version 2,0 '@@TO CHANGE::: SERVERNAME\

  • 深入sql数据连接时的一些问题分析 2014-12-02

    本篇文章是对关于sql数据连接时的一些问题进行了详细的分析介绍,需要的朋友参考下 一直还不是很了解connectionstring里各个关键词的区别,累赘致死 现把一些相关领悟小小述下-- *************************************************** initial catalog与database的区别是什么 Initial Catalog ;DataBase: 两者原来其实没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样..都可以叫你.

  • SQL一条语句统计记录总数及各状态数 2014-12-02

    这篇文章主要为大家介绍了SQL一条语句统计记录总数及各状态数的sql语句,需要的朋友可以参考下 方法一. SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数) FROM ( SELECT COUNT(1) 正确数,0 错误数 FROM TB WHERE STATUS=1 UNION ALL SELECT 0 正确数,COUNT(1) 错误数 FROM TB WHERE STATUS=0) a 方法二. 复制代码 代码如下: select count

  • C#将Sql数据保存到Excel文件中的方法 2015-03-25

    这篇文章主要介绍了C#将Sql数据保存到Excel文件中的方法,文中的ExportExcel可起到将sql数据导出为Excel的作用,需要的朋友可以参考下 本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值.分享给大家供大家参考借鉴之用. 具体功能代码如下: public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为空"; bool