用SQL脚本移除视图中存在的机器名
用SQL脚本移除视图中存在的机器名
例子: msccdr.cdr.DimRMAReturnMethod
CREATE VIEW CDR.DimRMAReturnMethod ( ReturnMethodId,srcReturnMethodCode,ReturnMethodName,IsDeleted ,TrackingID,ETLInsertDtTm ,ETLUpdateDtTm)
AS SELECT t.ReturnMethodId,t.srcReturnMethodCode,t.ReturnMethodName,t.IsDeleted,t.TrackingID,t.ETLInsertDtTm,t.ETLUpdateDtTm
FROM [MSCBISQLX01].[CDR].dbo.DimRMAReturnMethod t WITH (NOLOCK)
处理方法
*.查询出视图中存在机器名的视图信息
USE Database
GO
SELECT
b.name,
c.referenced_server_name,
c.referenced_database_name,
c.referenced_schema_name,
a.definition,
b.create_date,
b.modify_date
FROM sys.sql_modules AS a
JOIN
sys.objects AS b
ON a.object_id = b.object_id
JOIN
sys.sql_expression_dependencies AS c
ON b.object_id = c.referencing_id
WHERE b.type = 'V'
AND c.referenced_server_name IS NOT NULL
*.修改视图中存在机器名的视图
SET NOCOUNT ON;
DECLARE @definition VARCHAR(MAX)
DECLARE @ServerN VARCHAR(50)
DECLARE View_Cursor CURSOR SCROLL
FOR (
SELECT
c.referenced_server_name,
a.definition
FROM sys.sql_modules AS a
JOIN
sys.objects AS b
ON a.object_id = b.object_id
JOIN
sys.sql_expression_dependencies AS c
ON b.object_id = c.referencing_id
WHERE b.type = 'V'
AND c.referenced_server_name IS NOT NULL
)
OPEN View_Cursor;
FETCH NEXT FROM View_Cursor INTO @ServerN,@definition;
WHILE @@fetch_status = 0
BEGIN
SELECT @definition = REPLACE (@definition,'CREATE VIEW','ALTER VIEW')
SELECT @definition = REPLACE (@definition,'['+@ServerN+']'+'.','')
--print(@definition);
exec(@definition);
FETCH NEXT FROM View_Cursor INTO @ServerN,@definition;
END
CLOSE View_Cursor;
DEALLOCATE View_Cursor;
GO
以上处理方法仅供参考,如有处理不完善的地方;请大家指出共同学习。
用SQL脚本移除视图中存在的机器名的更多相关文章
- 通过SQL脚本来查询SQLServer 中主外键关系
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主 ...
- sql脚本来获取数据库中的所有表结构了
sql脚本来获取数据库中的所有表结构了,代码如下: use AdventureWorks2008 go SELECT (case when a.colorder=1 then d.name else ...
- 如何应用AutoIt,把局域网中所有的机器名展示在一个combox中?
有时候,我们会遇到以下情况: 你想与局域网中的某台机器建立连接,你就需要输入对方的机器名. 现在我比较懒,我不想输入对方的机器名,或者对方的机器名很难记住,那怎么办呢? 那就做一个combox在页面上 ...
- SQL脚本IN在EF中的应用
C#查询条件中存在in,为了避免拼脚本,参数化查询数据库,提高安全性,规避脚本注入.网上找了好多,最后发现 SqlParameter 是无法实现in的操作,所以只能变相来实现,结果还是不错的,性能上各 ...
- mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
原文地址:http://www.maomao365.com/?p=7335 摘要: 数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql ...
- 最近遇到的几个问题,关于Unity脚本在Inspector视图中前面没有勾选框的问题
1.为什么在Inspector视图中有的脚本前面有勾选框,有的脚本前面没有? 当我想要禁用一个脚本时,发现脚本前面没有勾选框,有的却有. 解决办法:在脚本中添加start方法,然后就有勾选框了. 原因 ...
- FineUI之使用SQL脚本从数据库表中生成对应的输入控件
在WEB开发时.常常须要根据数据库表中的字段建立对应的输入控件,来获取输入的数据.每次都须要按字段来敲,显然太低效.并且easy出错.这里提供一个SQL脚本生成对应输入控件的方法. USE DBDem ...
- 查找SQL数据表或视图中的字段属性信息
一.只支持表,非常牛逼的 SELECT a.name,(case when (SELECT count(*) FROM sysobjects WHERE (name in (SELECT name F ...
- PowerDesigner生成sql脚本时去掉双引号并把字段名设为大写
Database菜单—Edit Current RDBMS 找到Script---sql—Format--- CaseSensitivityUsingQuote,把它设置为NO 这样再用sql pre ...
随机推荐
- python 重要模块
1,使用字典的特殊字符串替换,基于字典的字符串格式化
- 2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客
2.2.2 胸腰差和胸臀差的应用_米人NOONE_新浪博客 腰差和胸臀差的应用(2009-06-16 19:24:57)转载▼标签:校园 前面已经对这两个概念作了简单的讲解.这两个概 ...
- ios中block中的探究
http://blog.csdn.net/jasonblog/article/details/7756763
- 让app在ios6上具有ios7的扁平效果
使用cocoapods在工程中加入UI7Kit,关于UI7Kit请自行google. 加入到工程 如果没安装cocoapods,则安装.(http://www.cocoapods.org) 安装方法: ...
- 首次登录与在线求助man page
为了避免瞬间断电造成的Linux系统损害,建议作为服务器的Linux主机应该加上不断电系统来持续提供稳定的电力. 在终端环境中,可依据提示符为$或#判断为一般几号或root账号. 要取得终端支持的语言 ...
- 微信小程序 app.json 配置
我们使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. 以下是一个包含了所有配置选项的简单配置app.json : { " ...
- nyoj 1237 最大岛屿(dfs)
描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王. 这是一个由海洋.岛屿和海盗组 ...
- 使用Kotlin开发Android应用(I):简单介绍
使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...
- EnyimMemcached扩展 遍历功能
Memcached本身对外提供的命令不多,也就add.get.set.incr.decr.replace.delete.stats等几个,客户端对这些操作进行了封装,总体来说调用还是很简单的. 初看了 ...
- 告示:CSDN博客通道支持Windows Live Writer写blog离线好友
尊敬的各位CSDN用户: 您好! 为了更好的服务客户.CSDN已经支持Windows Live Writer离线写博客啦.Windows Live Writer于2014年5月29日正式上线啦!欢迎大 ...