`

SqlServer表、临时表、表变量和常用逻辑处理操作

阅读更多
---------------表、临时表、表变量-----------------
--创建临时表1
create  table  #DU_User1
(
      [ID] [ int ]   NOT  NULL ,
      [Oid] [ int ]  NOT  NULL ,
      [Login] [nvarchar](50)  NOT  NULL ,
      [Rtx] [nvarchar](4)  NOT  NULL ,
      [ Name ] [nvarchar](5)  NOT  NULL ,
      [ Password ] [nvarchar]( max )  NULL ,
      [State] [nvarchar](8)  NOT  NULL
);
--向临时表1插入一条记录
insert  into  #DU_User1 (ID,Oid,[Login],Rtx, Name ,[ Password ],State)  values  (100,2, 'LS' , '0000' , '临时' , '321' , '特殊' );
 
--从ST_User查询数据,填充至新生成的临时表
select  *  into  #DU_User2  from  ST_User  where  ID<8
 
--查询并联合两临时表
select  *  from  #DU_User2  where  ID<3  union  select  *  from  #DU_User1
 
--删除两临时表
drop  table  #DU_User1
drop  table  #DU_User2

--创建临时表
CREATE  TABLE  #t
(
     [ID] [ int ]  NOT  NULL ,
     [Oid] [ int ]  NOT  NULL ,
     [Login] [nvarchar](50)  NOT  NULL ,
     [Rtx] [nvarchar](4)  NOT  NULL ,
     [ Name ] [nvarchar](5)  NOT  NULL ,
     [ Password ] [nvarchar]( max )  NULL ,
     [State] [nvarchar](8)  NOT  NULL ,
)
 
--将查询结果集(多条数据)插入临时表
insert  into  #t  select  *  from  ST_User
--不能这样插入
--select * into #t from dbo.ST_User
 
--添加一列,为int型自增长子段
alter  table  #t  add  [myid]  int  NOT  NULL  IDENTITY(1,1)
--添加一列,默认填充全球唯一标识
alter  table  #t  add  [myid1] uniqueidentifier  NOT  NULL  default (newid())
 
select  *  from  #t
drop  table  #t
--给查询结果集增加自增长列
 
--无主键时:
select  IDENTITY( int ,1,1) as  ID,  Name ,[Login],[ Password ]  into  #t  from  ST_User
select  *  from  #t
 
--有主键时:
select  ( select  SUM (1)  from  ST_User  where  ID<= a.ID)  as  myID,*  from  ST_User a  order  by myID
--定义表变量
declare  @t  table
(
     id  int  not  null ,
     msg nvarchar(50)  null
)
insert  into  @t  values (1, '1' )
insert  into  @t  values (2, '2' )
select  *  from  @t
----------逻辑处理操作-----------
---while:while计算1到100的和
declare  @a  int
declare  @ sum  int
set  @a=1
set  @ sum =0
while @a<=100
begin
     set  @ sum +=@a
     set  @a+=1
end
print @ sum


--条件语句-----
--if,else条件分支
if(1+1=2)
  begin
     print  '对'
  end
else
begin
     print  '错'
end
 
--when then条件分支
declare  @today  int
declare  @week nvarchar(3)
set  @today=3
set  @week= case
     when  @today=1  then  '星期一'
     when  @today=2  then  '星期二'
     when  @today=3  then  '星期三'
     when  @today=4  then  '星期四'
     when  @today=5  then  '星期五'
     when  @today=6  then  '星期六'
     when  @today=7  then  '星期日'
     else  '值错误'
end
print @week
分享到:
评论

相关推荐

    SQLServer中临时表与表变量的区别.docx

    ### SQL Server 中临时表与表变量的区别 #### 一、临时表 临时表与常规的永久表非常相似,主要区别在于其创建位置和生命周期。在SQL Server中,临时表是在`tempdb`数据库中创建的,这意味着它们仅在这个特定会话...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    在SQL Server中,遍历表中的记录是数据库操作中常见的一种任务,特别是在处理逐行处理数据或执行复杂逻辑时。本文将深入探讨两种方法:使用表变量和使用游标。 首先,我们来看如何通过表变量来遍历记录。表变量在...

    SQL SERVER临时表的语法.pdf

    总结来说,SQL Server的临时表是数据库操作中重要的工具,尤其在处理复杂逻辑和临时数据时。了解其创建、删除、类型以及与表变量的区别,对于编写高效、稳定的SQL代码至关重要。在实际应用中,根据数据量、生命周期...

    SQL SERVER临时表的使用.pdf

    总的来说,SQL Server的临时表提供了一种灵活的方式来处理暂时性的数据,它们在处理复杂业务逻辑、临时存储中间结果以及在存储过程和函数中复用数据时尤其有用。了解并熟练使用临时表可以显著提升SQL Server数据库...

    SQL SERVER临时表的使用.docx

    在SQL Server中,临时表是一种非常实用的工具,它允许我们在执行复杂的数据库操作时存储中间结果,以便于处理和分析。临时表分为两种类型:本地临时表(Local Temporary Tables)和全局临时表(Global Temporary ...

    SQL SERVER中表变量之妙用.pdf

    在实际的业务逻辑处理中,作者使用表变量来计算员工的应发工资、奖金和罚金情况。这些计算涉及到从多个相关表中提取数据,并进行复杂的分组与求和计算。通过定义不同的表变量@应发工资表、@奖金情况表和@罚金情况表...

    sql server 生成交叉表

    通过以上步骤,我们可以看到,在SQL Server中生成交叉表不仅可以利用动态SQL来实现,而且这种方式非常灵活,可以根据不同的需求动态调整查询逻辑。这种方法适用于需要快速响应不同数据透视需求的场景,尤其对于报表...

    SQL Tuning sqlServer 数据库

    - **临时表和表变量**:在适当的情况下,使用临时表或表变量来优化复杂查询。 5. **存储过程和函数**: - **存储过程的优势**:减少网络传输,提升安全性,封装业务逻辑。 - **函数优化**:考虑函数的执行效率,...

    sql server 创建临时表的使用说明

    SQL Server中,临时表是一种非常实用的工具,用于在数据库会话中存储临时数据,尤其在处理复杂查询和多步骤操作时。临时表分为两种类型:局部临时表(以单个井号`#`开头)和全局临时表(以双井号`##`开头)。 1. **...

    SQLServer基础篇

    它可以接收参数,并且可以包含复杂的逻辑和控制流。 3. **函数**:SQL Server中的函数分为标量函数和表值函数,用于执行特定计算或返回值。 4. **触发器**:当特定事件(如INSERT、UPDATE或DELETE)发生时自动执行的...

    Microsoft SQL Server 2005技术内幕: T-SQ程序设计.pdf

    该书由Itzik Ben-Gan权威执笔,重点关注语言特性以及它们如何被SQL Server引擎解释和处理。  通过本书,你将深入了解T-SQL的高级用法,包括触发器、用户自定义函数、异常处理等。该书解释并比较了SQL Server 2000和...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    6. **考虑使用临时表或表变量**:对于大型结果集,使用临时表或表变量可能比内存中操作更高效。 7. **保持存储过程的更新**:随着数据库结构的变化,定期检查并更新存储过程以保持最佳性能。 总之,虽然存储过程在...

    sqlserver存储过程

    SQL Server的存储过程提供了一种高效且安全的方式来封装和管理复杂的业务逻辑,通过合理设计和应用,可以极大地提升数据库应用程序的性能和安全性。掌握存储过程的创建和使用规则,是成为高效数据库开发者的关键技能...

    数据库sqlserver攻关

    临时表和表变量在SQL Server中都是用于存储数据的结构,但它们之间有本质的区别。临时表通常存在于磁盘上,可以存储大量数据,并且支持索引和事务。表变量存在于内存中,生命周期仅限于批处理、存储过程或函数,不...

    SQLSERVER日志清理程序

    标题与描述均提到了“SQLSERVER日志清理程序”,这实际上指的是在SQL Server数据库管理系统中进行日志管理的一种脚本或程序。SQL Server的日志文件是数据库事务的一部分,记录了所有对数据库所做的更改,这对于数据...

    SQLServer数据库优化之50种方法

    - 根据服务器的实际可用内存和操作系统需求来调整SQL Server的最大内存限制。 - 在Windows 2000和SQL Server 2000环境下,推荐的内存配比为1.5倍于物理内存大小。 #### 5. CPU优化 - **概述**:CPU性能直接影响...

    快速概述:SQL Server 2005中的临时表

    3. 表变量增强:虽然不是临时表,但SQL Server 2005对表变量也进行了优化,可以处理更多数据,有时可作为小型临时表的替代选择。 在使用临时表时,需要注意以下几点: 1. 临时表生命周期:局部临时表仅在创建它的...

    轻松搞定 sql server 2000 程序设计

    4. **表变量与临时表**: - **表变量**:一种用于存储单个记录集的方法。 - **临时表**:用于存储中间结果,不会影响生产数据。 5. **事务处理**: - **事务管理**:掌握事务的基本概念和使用方法,包括提交、...

    sql server 死锁检测

    ### SQL Server 死锁检测详解 #### 死锁的基本概念 死锁是计算机科学领域一个重要...总之,理解并有效处理SQL Server中的死锁问题对于确保系统的稳定性和性能至关重要。通过上述方法可以有效地管理和避免死锁的发生。

Global site tag (gtag.js) - Google Analytics