SqlServer更新视图存储过程函数脚本
--视图、存储过程、函数名称
DECLARE
@
NAME
NVARCHAR(255);
--局部游标
DECLARE
@CUR
CURSOR
--自动修改未上状态为旷课
SET
@CUR=
CURSOR
SCROLL
DYNAMIC
FOR
SELECT
NAME
FROM
DBO.SYSOBJECTS
WHERE
NAME
NOT
IN
(
'SYSCONSTRAINTS'
,
'SYSSEGMENTS'
)
AND
(
OBJECTPROPERTY(ID, N
'IsView'
) = 1
--视图
OR
OBJECTPROPERTY(ID,N
'IsProcedure'
) = 1
--存储过程
OR
OBJECTPROPERTY(ID,N
'IsScalarFunction'
) = 1
--标量函数
OR
OBJECTPROPERTY(ID,N
'IsTableFunction'
) = 1
--标题函数
OR
OBJECTPROPERTY(ID,N
'IsInlineFunction'
) = 1
--内联函数
);
OPEN
@CUR;
FETCH
NEXT
FROM
@CUR
INTO
@
NAME
WHILE (@@FETCH_STATUS=0)
BEGIN
DECLARE
@OldText NVARCHAR(
MAX
);
DECLARE
@NewText NVARCHAR(
MAX
);
--读取创建脚本,当脚本超长时分成多条记录时合并
SELECT
@OldText=@OldText +
CHAR
(10) +
CHAR
(13) + RTRIM(TEXT)
FROM
SYSCOMMENTS
WHERE
ID = OBJECT_ID(@
NAME
);
--将创建脚本替换为更新脚本
SET
@NewText=
REPLACE
(@OldText,N
'CREATE VIEW'
,N
'ALTER VIEW'
);
SET
@NewText=
REPLACE
(@NewText,N
'CREATE PROCEDURE'
,N
'ALTER PROCEDURE'
);
SET
@NewText=
REPLACE
(@NewText,N
'CREATE FUNCTION'
,N
'ALTER FUNCTION'
);
BEGIN
TRY
EXEC
(@NewText);
END
TRY
BEGIN
CATCH
PRINT N
'---------------------------------------------------------------------------'
;
PRINT @
NAME
+ N
' : '
+ ERROR_MESSAGE();
--PRINT @OldText;
PRINT N
'---------------------------------------------------------------------------'
;
END
CATCH
FETCH
NEXT
FROM
@CUR
INTO
@
NAME
END
CLOSE
@CUR;
DEALLOCATE
@CUR;
SqlServer更新视图存储过程函数脚本的更多相关文章
- onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别
protected void onAttachedToWindow() This is called when the view is attached to a window. At this po ...
- sqlserver中的存储过程 函数 事物 索引及视图
存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...
- SQLServer对视图或函数’XXX’的更新或插入失败,因其包含派生域或常量域解决
原因:视图view不允许修改. 解决:重新创建一个相同结构内容的表. 解释:因为所创建的视图对其属性值进行了计算的其他形式上的改变,而对视图的更改最终表现为对表的更改而表中不存在视图的某一属性,或属性 ...
- oracle 之索引,同义词 ,关键词,视图 ,存储过程,函数,触发器
--创建索引 关键词 index create[unique] index index_name on table_name(column_name [,column_name…]) [tablesp ...
- Android 中 更新视图的函数ondraw() 和dispatchdraw()的区别
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canv ...
- Android中更新视图的函数onDraw()和dispatchdraw()函数的区别
Android的view组件显示主要经过mesure, layout和draw这三个过程.在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方 ...
- sqlserver批量导出存储过程、函数、视图
select text from syscomments s1 join sysobjects s2 on s1.id=s2.id where xtype = 'V' xtype V 视图 P ...
- SQLServer 事务复制中使用脚本添加某个对象的发布
原文:SQLServer 事务复制中使用脚本添加某个对象的发布 -- use [发布库] --添加表:创建项目并将其添加到发布中 exec sp_addarticle @publication = N ...
- 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO
刷新SQL Server所有视图.函数.存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图.函数.存储过程有效性. [SQL]代码 --视图.存储过程.函数名称 DE ...
随机推荐
- Go2Shell 打开设置窗口
Go2Shell默认没有设置界面,需要用命令行打开 在Shell中输入: open -a Go2Shell --args config
- 【转】Android Studio -修改LogCat的颜色*美爆了*
原文网址:http://www.2cto.com/kf/201505/400357.html 一. 先看效果 二.设置 File->Settings 或Ctrl + Alt +S 找到 Edit ...
- oracle归档日志增长过快处理方法
oracle归档日志一般由dml语句产生,所以增加太快应该是dml太频繁 首先查询以下每天的归档产生的情况: SELECT TRUNC(FIRST_TIME) "TIME", SU ...
- CocoaPods一个Objective-C第三方库的管理利器
转:http://blog.csdn.net/totogo2010/article/details/8198694 介绍: 开发应用的时候第三方的库是不可缺少的,能提高开发的效率. 一些经常用到的库, ...
- Java 如何防止线程意外中止
Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止,导致这个线程的终结.最麻烦的是,在线程中抛出的异常即使使用try...ca ...
- Hilbert先生旅馆的故事
以前上实变函数的时候稍微讲了下这个故事呢. 来自Hansschwarzkopf 很久很久以前,在欧洲某国的一个小镇上,Hilbert先生开了一家拥有无数个房间的旅馆.一天,旅馆生意红火得一塌糊涂,不到 ...
- hadoop2.20.0集群安装教程
一.安装的需要软件及集群描述 1.软件: Vmware9.0:虚拟机 Hadoop2.2.0:Apache官网原版稳定版本 JDK1.7.0_07:Oracle官网版本 Ubuntu12.04LTS: ...
- java制作证书的工具keytool用法
一.keytool的概念 keytool 是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务.在 ...
- codeforces 691E Xor-sequences 矩阵快速幂
思路:刚开始 n个元素,a[i][j]代表以i开头,j结尾的二元组符合条件的有多少 这是等于长度为2的数量 长度为3的数量为a*a,所以长度为n的数量是a^(k-1) 然后就是矩阵快速幂,然而我并不能 ...
- bjfu1252 贪心
题目意思是给出一些开区间,这些区间有的相交,有的不相交,问你能否选出一些区间,使这些区间之间都不相交,并且选出的区间数最大. 这是个典型的贪心问题了.按区间的结束位置排序,然后顺序地选取区间,只要当前 ...