当前位置: 首页 > article >正文

sql server into #t2 到临时表的几种用法

无需创建临时表结构自动识别

INTO #t2 通常用于将查询结果集插入到一个临时表(以 # 开头的表名表示这是一个本地临时表,仅在当前会话中可见)中。以下是一些使用 INTO #t2 将数据插入到临时表的常见用法

SELECT column1, column2, ...
INTO #t2
FROM SomeTable
WHERE some_condition;

使用现有表结构创建临时表

如果你已经有一个现有的表,并且想要创建一个具有相同结构的临时表,你可以先使用 SELECT INTO 从该表中选择所有列(或所需列),但不指定 WHERE 条件(或指定一个总是为真的条件,如 1=1),以便将所有列都复制到临时表中(但不会有数据,除非你确实想要复制数据)。然而,更常见和推荐的做法是使用 CREATE TABLE 语句并指定列和数据类型,如下所示:

-- 不推荐的方法,因为不直观且可能包含不必要的数据
SELECT *
INTO #t2
FROM ExistingTable
WHERE 1=0; -- 条件总是为假,因此不会复制任何数据
 
-- 推荐的方法,明确指定列和数据类型
CREATE TABLE #t2 (
    column1 INT,
    column2 NVARCHAR(50),
    ... -- 其他列和数据类型
);

插入数据到已存在的临时表

如果你已经创建了一个临时表(无论是通过 SELECT INTO 还是 CREATE TABLE),并且想要向其中插入更多数据,你不能再次使用 SELECT INTO 语法。相反,你应该使用 INSERT INTO ... SELECT 语句。

-- 假设 #t2 已经存在
INSERT INTO #t2 (column1, column2, ...)
SELECT column1, column2, ...
FROM AnotherTable
WHERE another_condition;

使用 WITH 子句(公用表表达式,CTE)

WITH CTE AS (
    SELECT column1, column2, ...
    FROM SomeTable
    WHERE some_condition
)
SELECT *
INTO #t2
FROM CTE;

总结

使用 SELECT INTO #t2 可以直接将查询结果插入到一个新创建的临时表中。
使用 CREATE TABLE #t2 可以明确地指定临时表的列和数据类型。
使用 INSERT INTO #t2 ... SELECT 可以向已经存在的临时表中插入数据。
可以将 WITH 子句与 SELECT INTO 结合使用,以创建复杂的临时结果集并将其插入到临时表中


http://www.kler.cn/a/396340.html

相关文章:

  • git上传文件到远程仓库
  • 二叉树遍历的非递归实现和复杂度分析
  • 创建vue插件,发布npm
  • Mac解压包安装MongoDB8并设置launchd自启动
  • 斯坦福泡茶机器人DexCap源码解析:涵盖收集数据、处理数据、模型训练三大阶段
  • 【云原生系列--Longhorn的部署】
  • 8 软件项目管理
  • JavaScript 自动化软件:AutoX.js
  • 入门车载以太网(4) -- 传输层(TCP\UDP)
  • django入门【05】模型介绍(二)——字段选项
  • Java-Redisson分布式锁+自定义注解+AOP的方式来实现后台防止重复请求扩展
  • 用户态协议栈与内核模块通信机制
  • mac终端使用pytest执行iOS UI自动化测试方法
  • 引领豪华MPV新趋势,比亚迪夏内饰科技广州车展全球首发
  • 【C#设计模式(6)——适配器模式(Adapter Pattern)】
  • HelloMeme 上手即用教程
  • MySQL 如何用C语言连接
  • 角谷猜想的步数
  • JMX Exporter源码解读+生产环境最佳实践+解决其抓取指标超时问题
  • 关于adb shell登录开发板后terminal显示不完整
  • Python学习从0到1 day29 Python 高阶技巧 ⑦ 正则表达式
  • 直接映射缓存配置
  • 罗马数字转整数---每日小题
  • ctfshow-web入门-SSTI(web369-web372)下
  • 数据结构-二叉树及其遍历
  • 第二十九篇——线性代数:“矩阵”到底怎么用?