sql编译与重编译
sql编译与重编译
1.sp_recompile
使存储过程和触发器在下次运行时重新编译。
2.sp_refreshview
如果视图所依赖的基础对象发生更改(如:表增加了一个字段),则视图不会自动更新,这时需要调用该存储过程来对视图进行刷新。有人说,重新打开一下视图就可以更新视图,但我试了没有成功。
例1:刷新指定名称的视图
sp_refreshview 'v_tblItem'
例2:刷新整个数据库中的所有视图
CREATE PROCEDURE [dbo].[_Proc_CheckView](
@IsDelete bit=0 --是否要删除无效的视图
)
AS
BEGIN
DECLARE @vName sysname ;
DECLARE @ErrorMessage nvarchar(200);
DECLARE @count int;
SET @count=0;
DECLARE @ErrorCount int;
SET @ErrorCount=0;
CREATE TABLE #temp(
ViewName nvarchar(776)
)
DECLARE refresh_cursor CURSOR FOR
SELECT Name from sysobjects
WHERE xtype = 'V'
AND category=0
order by crdate
FOR READ ONLY
OPEN refresh_cursor
FETCH NEXT from refresh_cursor
INTO @vName
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN try
exec sys.sp_refreshview @vName
END try
BEGIN catch
insert into #temp(ViewName)
&n
相关文档:
几个删除重复记录的SQL语句
2009-03-02 10:08
比如现在有一人员表 (表名:peosons)
若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来
select p1.* from persons p1,persons p2 where p1.id<>p2.id &nb ......
我们使用oracle的人都知道可以通过rownum伪列得到查询结果序列前面的指定的行,为了下面更好的进行说明问题,我们先来创建一个数据表table1:
create table table1
(AAA integer primary key,
BBB varchar(30));
然后在table1中插入9条数据:
insert into table1 values (8, 'good');
insert into table1 values (7 ......
相信大家都在当心数据库的丢失,这也是每个开发者头痛的一件事件,因为正在运行的服务器及数据库也在这台服务器上。如果服务器崩溃,那么所有的数据
都不存在了,就算是你在你的机子上做了备份,那也是没有用的,为什么会这样说主要是因为本机是向互联网公开的,所以出事故的概率就比较高。最终我们可以利
用局域 ......
General Overview
FeatureSQL Server 2008 (RC0)MySQL 5.1/6PostgreSQL 8.3/PostGIS 1.3/1.4
OS
Windows XP, Windows Vista, Windows 2003, Windows 2008
Windows XP, Windows Vista, (haven't tested on 2008), Linux, Unix, Mac
Windows 2000+ (including Vista and 2003, haven't tested on 2008), Linux, Unix, Ma ......