文章分类 - 03 Database
Database operation, SQl Server...
摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到tabl
阅读全文
摘要:(面试遇到的一个问题,没有写出来,回来查询后在此做个记录) 在很多的时候,我们会在数据库的表中设置一个字段:ID,这个ID是一个IDENTITY,也就是说这是一个自增ID。当并发量很大并且这个字段不是主键的时候,就有可能会让这个值重复;或者在某些情况(例如插入数据的时候出错,或者是用户使用了Delete删除了记录)下会让ID值不是连续的,比如1,2,3,5,6,7,10,那么在中间就断了几个数据,那么我们希望能在数据中找出这些相关的记录,我希望找出的记录是3,5,7,10,通过这些记录可以查看这些记录的规律来分析或者统计;又或者我需要知道那些ID值是没有的:4,8,9。 解决办法的核心思想是:
阅读全文
摘要:存储过程初始学习:恰好项目中的表直接拿来用了----Stored Procedure----1.创建不带参数存储过程if(exists(Select * From sys.objects Where name='sp_Item')) Drop proc sp_Itemgo Create procedure sp_Itemas Select ti.ID,p.Product,p.Software,tc.CaseName,ti.TestResult,ti.TestValue,ti.DmsIssue From TestItem ti INNER JOIN TestCase t...
阅读全文
摘要:有时候,需要将数据库中的数据交叉显示在一张表上。 姓名 科目 分数张三语文74张三数学83张三物理93李四语文74李四数学84李四物理94李四化学97变为:姓名 化学 数学 物理 语文 平均分 总分 李四 97 84 94 7487.25 349张三0 83 93 74 83.33 250 1 CREATE TABLE Grade 2 ( 3 stuName varchar(20), 4 Subject varchar(20), 5 Result int 6 ) 7 8 insert into Grade(stuName , Subject , Result) values('张三
阅读全文
摘要:----创建存储过程create proc[edure] 存储过程名[{@参数1 参数类型}[=默认值][output],......,{@参数n 参数类型}[=默认值][output],]asSQL 语句块----执行存储过程exec/execute 存储过程名----带参数的简单存储过程实例create proc p_Employee@count int outputasprint 'Records number:'Select count(*) From dbo.Employeeprint @countgodeclare @sumcount intexec p_Emplo
阅读全文
摘要:在SQL Server中打开:键入----事务处理----事务的分类----1. 显式事务:使用begin tran明确指定事务开始,即关于事务的所有操作由用户使用代码自行控制use CompanyDBgo----创建表,模拟汇款转账create table AccountInfo(AccountGUID int primary key identity,AccountName nvarchar(20) not null,AccountType nvarchar(20) not null,AccountMoney money not null,AccountState nvarchar(20)
阅读全文
摘要:View Code 1 ----T-SQL语句的综合应用----- 2 create table AbsenceType 3 ( 4 AtpID int primary key identity, 5 AtpName nvarchar(20) not null, 6 AtpFine decimal(18,2)not null 7 ) 8 9 insert into AbsenceType(AtpName,AtpFine) values('迟到',20)10 insert into AbsenceType(AtpName,AtpFine) values('缺勤',
阅读全文
摘要:这两个函数是差不多的,但由于优化方案不同,通常NOT Exists要比NOT IN要快,因为NOT EXISTS可以使用结合算法二NOT IN就不行了,而EXISTS则不如IN快,因为这时候IN可能更多的使用结合算法。 Select * from tableA Where exists(Selec...
阅读全文
摘要:-----------------创建数据库,数据库位置D:\DataBase---------------------------主要数据文件CompanyDB,初始大小20MB,限制大小200MB,按照10MB增长----------次要数据文件CompanyDB_S1,初始大小20MB,限制大小200MB,按照10MB增长----------次要数据文件CompanyDB_S2,初始大小20MB,限制大小200MB,按照10MB增长----------事务日志文件CompanyDB_Log1,初始大小20MB,限制大小200MB,按照10%增长----------次要数据文件Compa
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 --循环执行插入10000条数据2 declare @vendorID int3 declare @name nvarchar(100)4 declare @address nvarchar(255)5 declare @phone nvarchar(255)6 declare @vendorName nvarchar(100)7 declare @vendorAddress nvarc
阅读全文
摘要:1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个人理解:以一个共同的字段求两个表中符合要求的交集,并将每个表符合要求的记录以共同的字段为牵引合并起来。语法FROM table1 INNER JOIN table2 ON table1 . field1 compopr table2 . field2INNER JOIN 操作包含以下部分:部分说明table1, table2要组合其中的记录的表的名称。field1,field2 要联接的字段的名称。如果它们不是数字,则这些字段的数据类型必须相同,并且包含同类数据,但是,它们不必具有相同的名称。compopr任何关系比较运算符
阅读全文

浙公网安备 33010602011771号