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
相关文档:
作为备忘吧.在机房里输入的.
/*CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);*/
/*CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Credit SMALLINT,
&n ......
SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:
MySQL: SUBSTR(), SUBSTRING()
Oracle: SUBSTR()
SQL Server: SUBSTRING()
最常用到的方式如下 (在这里我们用SUBSTR()为例):
SUBSTR(str,pos): 由<str>中,选出所有从第<pos>位置开始 ......
几个删除重复记录的SQL语句
2009-03-02 10:08
比如现在有一人员表 (表名:peosons)
若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来
select p1.* from persons p1,persons p2 where p1.id<>p2.id &nb ......
做个矩阵,其实就是个二维数组,关键是要从数据库里调些数据,sql语句不熟练,就边学边用,同步地记些笔记,方便查阅
关于distinct和order by 发了个帖子(第一次哦)
首帖:
用的是oracle的数据库
目的是想选出唯一的userid(原有重复值),并且按照filepos排序(原filepos是1,2,3.。。不重复的序号)
......
装了SQL2000后安装SQL2005,虽然使用别名加以区别了,但发现2005中没有可供访问的类似企业管理器,一时冲动,卸了2000,完整安装了2005,发现还是没有企业管理器,搜索过后才发现需要安装SQLServer2005_SSMSEE.msi(即SQLServerManagerStudioExpressEdition),它提供了类似企业管理器的图形化操作界面。
装好后,SQL ......