把他贴出来不是因为它有多么高深,只是因为它写的足够规范,可以参考一下
前段代码是由于我们的开发环境的特殊性,即本地的数据库都是数据库名+test,而在dev数据库上是不带test后缀的:
DECLARE @maDbName SYSNAME
//DB_NAME()取得是当前的数据库名称
IF (DB_NAME() LIKE N'%Test')
BEGIN
SET @maDbName = N'MemberArchiveTest'
END
ELSE
BEGIN
SET @maDbName = N'MemberArchive'
END
IF (NOT EXISTS (SELECT 1 FROM sys.columns WHERE [object_id] = OBJECT_ID(N'dbo.Tr_Role', N'U')
AND [name] = N'MembershipNumber'))
BEGIN
ALTER TABLE dbo.Tr_Role
ADD MembershipNumber NVARCHAR(255) NULL
END
IF (EXISTS (SELECT 1 FROM master.dbo.sysdatabases WHERE [name] = @maDbName))
BEGIN
DECLARE @sql NVARCHAR(MAX), @isMigrationDone BIT
SET @sql = N'
IF (EXISTS (SELECT 1 FROM ' + @maDbName + N'.sys.columns WHERE [object_id] = OBJECT_ID(N''' + @maDbName + N'.dbo.Tm_Member'', N''U'')
AND [name] = N''MembershipNumber''))
BEGIN
SET @isMigrationDone = 0
END
ELSE
BEGIN
SET @isMigrationDone = 1
END
'
EXEC sp_executesql @sql, N'@isMigrationDone BIT OUTPUT', @isMigrationDone = @isMigrationDone OUTPUT
IF (@isMigrationDone = 0)
BEGIN
SET @sql = N'
UPDATE r
SET MembershipNumber = ma.MembershipNumber
FROM dbo.Tr_Role r
INNER JOIN ' + @maDbName + N'.dbo.Tm_Member ma
ON r.PersonId = ma.PersonId AND r.OrganisationId = ma.ClubId
AND r.IsPassive = ma.IsPassive
WHERE r.RoleTypeId = 1
'
EXEC sp_executesql @sql
SET @sql = N'
USE ' + @maDbName + N'
ALTER TABLE dbo.Tm_Member DROP COLUMN MembershipNumber
'
EXEC sp_executesql @sql
END
END
分享到:
相关推荐
标题“ecps广西电商数据脚本”提示我们这是一个与电商数据处理相关的项目,特别是针对广西地区的数据。在电商行业中,数据脚本通常用于处理、分析和管理大量的交易数据,这可能包括用户行为、订单信息、商品详情等。...
标题中的“一段天气小脚本shell”指的是一个使用Shell编程语言编写的脚本,它的主要功能是获取并显示天气信息。Shell脚本是Linux或Unix系统中常用的自动化任务工具,它允许用户通过命令行接口执行一系列操作。 描述...
本文将深入探讨“SQLServer数据库部署工具”,该工具能自动生成数据添加、更新脚本,极大地方便了数据库的维护工作。 首先,我们来了解什么是数据库部署。数据库部署通常涉及创建数据库结构、设置权限、初始化数据...
EmEditor自带的求和脚本不能处理带逗号的数字和空格分隔的数字,就修改了一下。 可以对一段中英文文本中的...相比Excel,这个脚本可以直接对一段文字中的数字求和,而且文本编辑器中对数字进行鼠标拖放操作更方便。
这段描述提到的“一段进行SVN备份的脚本”就是为了解决这一需求,它允许用户通过Windows计划任务自动化执行备份过程,以防止意外数据丢失。 首先,我们需要理解SVN备份的基本原理。SVN仓库通常存储在服务器上,包含...
这段脚本会在`mydata.txt`中写入一行文本:“这是一些数据”。 如果你想生成更复杂的数据,比如序列或者随机字符,可以使用`seq`命令生成数字序列,或者使用`openssl rand`生成随机字符串: ```bash #!/bin/bash #...
标题中的“全世界的城市数据表sql脚本”指的是一个SQL脚本文件,用于创建或操作包含全球城市信息的数据表。这样的脚本通常会包括一系列的SQL语句,如CREATE TABLE语句来定义表格结构,INSERT INTO语句来填充数据,...
- 给定的部分内容展示了具体的T-SQL代码,这段代码定义了一个存储过程`dbo.UspOutputData`,用于生成插入数据的SQL脚本。下面对这段代码进行逐行解析: 1. **存储过程定义**: ```sql CREATE PROCEDURE dbo....
例如,给定的文件内容中有一段SQL脚本: ```sql ALTER TABLE T_OA Notice ALTER COLUMN [subject] varchar(60) not NULL; ``` 这里,`T_OA Notice`表中的`subject`字段数据类型被修改为`varchar(60)`,并且不允许为...
这篇博客“MATLAB导入CSV数据的脚本”提供了具体的方法,通过一个名为`lq_imp.m`的MATLAB脚本来实现这一功能。下面我们将详细探讨这个过程以及相关知识点。 首先,我们需要理解CSV文件的结构。CSV文件是一种简单的...
描述中提到的"FR_SQL基础一 和 FR_SQL基础二 的作业题的数据脚本"表明,这个压缩包可能包含了两个阶段的学习作业,涵盖了SQL的初级概念和进阶内容。这些脚本可能包含了一系列的SQL语句,旨在帮助学习者理解和实践...
训练过程可能需要一段时间,期间可以监控损失函数和验证集上的性能,以调整学习率和训练轮数。 总之,"YOLO训练数据制作脚本_1"是制作YOLO模型训练数据的重要工具,它简化了从原始图像和XML标注到YOLO模型所需格式...
本文将根据提供的资源,深入解析Oracle的学习路径,从初学到精通,并重点介绍其中包含的练习和数据脚本。 首先,"orcale12c初始安装创建用户授权.doc" 文件涵盖了Oracle 12c的安装步骤和初始设置。安装Oracle数据库...
首先,让我们深入理解“数据脚本”这一概念。数据脚本是指包含一系列操作数据库的SQL命令的文本文件。它们可以用于创建数据库架构,填充初始数据,或者执行日常维护任务,如备份、恢复和性能优化。数据脚本的使用...
`read_csv_cfg`可能是一个用于读取CSV格式配置文件的CAPL函数或脚本,这样可以从Excel导出的CSV文件中获取数据。 3. IniAutoCodeCFG:此文件名可能暗示了一个配置文件,用于自动化的代码生成或者初始化过程。在CAPL...
这个压缩包"数据集,包含原始数据集、自助数据集、存储过程数据集、JSON数据集、脚本数据集、HTTP数据集、JS数据集.zip"显然提供了多种类型的数据集,让我们一一探讨这些不同类型的数据集及其重要性。 首先,**原始...
"MOSS微调数据转换脚本"的目的是将特定的数据格式转换为适用于MOSS(可能是多模态预训练模型)进行微调的格式。在这个场景中,我们处理的是来自`chatglm`的三段式数据,它可能包含对话的输入、上下文和输出部分。...
例如,你可能有一个文本文件包含了SQL语句,可以通过读取该文件,将内容赋值给一个字符串变量,然后利用`ExecuteScript`来执行这些SQL,这样就可以实现对数据库的操作,比如构建、更新或者查询数据。这种方法在处理...
数据块的复制是脚本编程中的另一个重要知识点。它允许从一个地址复制数据到另一个地址。例如,当位地址M100从0变为1,即发生了上升沿变化时,数据可以从一个外接设备复制到另一个地址。这种操作通常涉及到对数据格式...
### SQL Server 2005+ 版本行列转换数据脚本知识点解析 #### 一、数据表创建脚本分析 根据题目中的信息,我们首先关注到的是一个名为`dduser`的数据表创建脚本。该脚本是在SQL Server 2005及以上版本中使用的。...