T-Sql 打印所有用户表的建表脚本

news/2025/2/21 2:09:40/
sql">-- 声明一个变量用于存储表名
DECLARE @TableName NVARCHAR(128);
-- 声明一个游标,用于遍历所有用户表
DECLARE TableCursor CURSOR FOR
SELECT name FROM sys.tables  WHERE type = 'U'; -- 打开游标
OPEN TableCursor;
-- 从游标中获取第一行数据
FETCH NEXT FROM TableCursor INTO @TableName;-- 当游标获取数据成功时,进入循环
WHILE @@FETCH_STATUS = 0
BEGIN-- 声明一个变量用于存储生成的创建表的 SQL 语句DECLARE @SQL NVARCHAR(MAX) = N'';-- 生成创建表的 SQL 语句,包括自增字段的处理SET @SQL = @SQL +'CREATE TABLE ' + QUOTENAME(@TableName) + ' (' +STUFF((SELECT ', ' + QUOTENAME(c.name)  + ' ' + t.name  +CASE WHEN t.name  IN ('varchar', 'nvarchar') THEN '(' + CAST(c.max_length  AS VARCHAR) + ')' WHEN t.name   IN ('char', 'nchar') THEN CASE WHEN c.max_length!=  -1 THEN '(' + CAST(c.max_length  AS VARCHAR) + ')' ELSE '(MAX)' ENDWHEN t.name  = 'decimal' THEN '(' + CAST(c.precision  AS VARCHAR) + ', ' + CAST(c.scale  AS VARCHAR) + ')' ELSE '' END +CASE WHEN c.is_identity  = 1 THEN -- 处理自增字段' IDENTITY(' + CAST(IDENT_SEED(@TableName) AS VARCHAR) + ', ' + CAST(IDENT_INCR(@TableName) AS VARCHAR) + ')' ELSE '' END +CASE WHEN c.is_nullable  = 0 THEN ' NOT NULL' ELSE '' ENDFROM sys.columns  cJOIN sys.types  t ON c.user_type_id  = t.user_type_id WHERE c.object_id  = OBJECT_ID(@TableName)FOR XML PATH('')), 1, 2, '') + ');';-- 打印生成的 SQL 语句PRINT @SQL;-- 从游标中获取下一行数据FETCH NEXT FROM TableCursor INTO @TableName;
END-- 关闭游标
CLOSE TableCursor;
-- 释放游标占用的资源
DEALLOCATE TableCursor;

实测结果

差不多就行,可以会有特殊情况的错漏,再说吧...... 


http://www.ppmy.cn/news/1572792.html

相关文章

无人机航迹规划: 梦境优化算法(Dream Optimization Algorithm,DOA)求解无人机路径规划MATLAB

一、梦境优化算法 梦境优化算法(Dream Optimization Algorithm,DOA)是一种新型的元启发式算法,其灵感来源于人类的梦境行为。该算法结合了基础记忆策略、遗忘和补充策略以及梦境共享策略,通过模拟人类梦境中的部分记忆…

【开源免费】基于Vue和SpringBoot的旅游管理系统(附论文)

本文项目编号 T 229 ,文末自助获取源码 \color{red}{T229,文末自助获取源码} T229,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

基于Swift实现拼图游戏

写了个拼图游戏,探讨一下相关的 AI 算法。拼图游戏的复原问题也叫做 N 数码问题。 拼图游戏N 数码问题广度优先搜索双向广度优先搜索A*搜索 游戏设定 实现一个拼图游戏,使它具备以下功能: 自由选取喜欢的图片来游戏自由选定空格位置空格邻…

【Python爬虫(4)】揭开Python爬虫的神秘面纱:基础概念全解析

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…

Spring事务失效的几种场景

往期推荐 符号引用和直接引用、强引用、软引用、弱引用、虚引用-CSDN博客 已老实!再学消息队列、死信队列-CSDN博客 synchronized如何实现可重入,和Lock区别-CSDN博客 Mysql索引失效的几种场景、回表、索引覆盖、索引下推-CSDN博客 1. 未启用Spring事务管…

吃瓜教程Day2笔记

作为“西瓜书”介绍机器学习模型的开篇,线性模型也是机器学习中最为基础的模型,很多复杂模型 均可认为由线性模型衍生而得,无论是曾经红极一时的支持向量机还是如今万众瞩目的神经网络,其中都有线性模型的影子。 本章的线性回归和…

火爆的DeepSeek大模型怎么和智能家居结合?

DeepSeek作为AI大模型,与智能家居结合可以带来更智能、个性化和自然交互的体验,以下是几种可能的结合方式及场景示例: 自然语言控制中枢 场景示例:用户说“我有点冷”,DeepSeek自动调高空调温度并关闭风扇;…

第1章大型互联网公司的基础架构——1.5 服务发现

讲到这里,我们已经对一个客户端请求进入业务HTTP服务的过程有了较为详细的了解。业务HTTP服务在处理请求的过程中免不了与其他下游服务通信——可能会调用其他业务服务,可能需要访问数据库,可能会向消息中间件投递消息等,所以业务…