USE [SqlserverDBName]
GO
/***********************************************************
*DataServer: XXX.XXX.XXX.XXX
*DataBase: SqlserverDBName
*Name: UP_YourSqlserverDBName
*Function: UP_YourSqlserverDBName test
*Input:
*Output:
*Creator: greatwqs
*Updated: 2012-08-21 temp table test
***********************************************************/
CREATE PROCEDURE [dbo].[UP_TEST_TEMP_TABLE]
(
@param1 varchar(MAX),
@param2 varchar(2)
)
AS
BEGIN
SET NOCOUNT ON
-- 不显示执行后的控制台信息
-- Create Temp Table 'TAB_XXXXXXXXXXXX'
IF OBJECT_ID(N'tempdb.dbo.#TAB_XXXXXXXXXXXX', N'U') IS NOT NULL
BEGIN
DROP TABLE #TAB_XXXXXXXXXXXX
-- use temp table not reference dbo.tabxxxx, del dbo
END
CREATE TABLE #TAB_XXXXXXXXXXXX(
[TransID] [int] IDENTITY(1,1) NOT NULL,
ItemName char(25) NOT NULL,
CONSTRAINT [PK_TAB_XXXXXXXXXXXX] PRIMARY KEY CLUSTERED
(
[TransID] ASC
) ON [PRIMARY]
)ON [PRIMARY]
-- INSERT DATA TO TEMP TABLE
WHILE(@param1 = 'ABCDEFG')
BEGIN
INSERT INTO #TAB_XXXXXXXXXXXX(ItemName)
VALUES ('ITEM_NAME')
END
SELECT ItemName FROM dbo.#TAB_XXXXXXXXXXXX
-- 临时表可以不使用WITH(NOLOCK)
DROP TABLE #TAB_XXXXXXXXXXXX
END
GO
在SQL SERVER存储过程中, 如果数据较少200条, 也可以使用表变量:
BEGIN
-- 1. 声明
DECLARE @V_Repeated TABLE(ProductID INT)
-- 2. 插入数据
INSERT INTO @V_Repeated(ProductID)
SELECT TOP (50) ProductID
FROM DBO.Products WITH(NOLOCK)
-- 3. 使用表变量数据
UODATE DBO.XXXXXXX
SET XXXX='VALUE1'
WHERE PRODUCT_FK IN (
SELECT TOP 50 ProductID
FROM @V_Repeated
)
END
分享到:
相关推荐
资源名称:SQLServer中临时表与表变量的区别内容简介: 本文档主要讲述的是SQLServer中临时表与表变量的区别;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看。资源截图: 资源太大,传百度网盘了,...
sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...
在SQL Server中,临时表和表变量是两种用于暂存数据的结构,它们在数据库操作中扮演着重要的角色。理解它们的区别有助于优化存储过程和提高性能。 临时表类似于永久表,但它们存在于Tempdb系统数据库中,仅在创建它...
### SQL Server 中临时表与表变量的区别 #### 一、临时表 临时表与常规的永久表非常相似,主要区别在于其创建位置和生命周期。在SQL Server中,临时表是在`tempdb`数据库中创建的,这意味着它们仅在这个特定会话...
SQL Server的临时表是数据库管理中非常实用的工具,它们被用于存储临时数据,供当前会话或多个会话在特定范围内使用。...了解并熟练使用临时表可以显著提升SQL Server数据库管理的效率和代码的可读性。
5. **命名限制**:本地临时表的名称长度不能超过116个字符,因为SQL Server会在内部添加数字后缀以区分不同用户的表。 6. **存储位置**:所有的临时表都存储在tempdb系统数据库中。 7. **并发问题**:在多用户环境...
本文将介绍 CTE 的基本概念、语法和使用方法,并与传统的子查询和表变量相比,看看 CTE 是如何简化嵌套 SQL 的。 一、嵌套 SQL 语句的问题 嵌套 SQL 语句是指在一个 SELECT 语句中包含另一个 SELECT 语句,这可以...
本文将深入探讨两种方法:使用表变量和使用游标。 首先,我们来看如何通过表变量来遍历记录。表变量在SQL Server中是一种临时存储数据的结构,它与临时表相似但作用范围更小,仅限于当前批处理或存储过程。以下是一...
在SQL Server中,表变量和临时表都是用来存储数据的临时结构,但它们在使用上存在显著的区别。本文将详细探讨这两个概念。 首先,我们来看看表变量。表变量是在SQL Server 2000中引入的新特性,它允许在批处理语句...
在提供的代码段中,展示了如何使用变量、动态SQL和存储过程来处理临时表: ```sql DECLARE @Wokno VARCHAR(500), @Str NVARCHAR(4000), @Count INT, @i INT; SET @i = 0; SELECT @Count = COUNT(DISTINCT(Wokno)) ...
SQL Server中的临时表是...正确地使用局部和全局临时表,以及根据需求选择表变量,能够优化数据库的性能并提高代码的可维护性。在实际应用中,应根据数据量、使用范围和会话生命周期来决定何时使用哪种类型的临时表。
在SQL Server中,遍历和更新大量数据时,通常有两种主要方法:游标和使用临时表。本篇文章将重点探讨如何通过创建临时表来遍历并更新数据,以避免使用游标带来的性能损耗和复杂性。 首先,游标虽然直观,但其缺点...
在SQL Server中,临时表是一种用于存储临时数据的结构,它们在特定的会话或所有会话中(根据类型)存在,并在不再需要时自动删除。临时表分为两种类型:本地临时表(以单个井号`#`开头)和全局临时表(以双井号`##`...
SQL Server的临时表是数据库操作中非常实用的工具,它们用于存储临时数据,尤其是在复杂的查询...在实际应用中,根据数据量、生命周期和可见性需求,明智地选择临时表或表变量,可以显著提高SQL Server应用程序的性能。
在SQL Server中,临时表是一种非常实用的工具,特别是在处理复杂查询和大量数据操作时。它们可以用来暂存中间结果,提升查询效率,并且有助于提高程序的可读性。临时表分为两种类型:用户临时表(本地临时表)和系统...
首先,我们创建了一个名为`#result`的临时表,包含三列:`Class`(类别)、`CallDate`(日期)和`CallCount`(计数)。接着,通过`INSERT INTO`语句向该表中插入了一些示例数据。 ### 二、动态SQL构建交叉表查询 ...
2. **使用表变量**:在某些情况下,如果数据量不大,可以使用表变量代替临时表,因为它们不会创建磁盘上的物理对象,对性能影响较小。 3. **合理使用索引**:为临时表添加合适的索引可以显著提高查询速度,但也要...
SQL Server中,临时表是一种非常实用的工具,用于在数据库会话中存储临时数据,尤其在处理复杂查询和多步骤操作时。临时表分为两种类型:局部临时表(以单个井号`#`开头)和全局临时表(以双井号`##`开头)。 1. **...