MS SQL 2000/2005 修改表所有者存储过程
Create PROCEDURE [dbo].[ChangeObjectOwner]
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name
OPEN curObject
FETCH NEXT from curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner +'.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end
FETCH NEXT from curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
------------------------
说明:以上代码只需要在存储过程中新建执行即可,但是第一次执行回出现警告和错误说明,
如果你的asp.net程序执行出现以下类似错误,那说明你的现有的试图或存储过程中的表对象没有改过来,需要修改视图或者存储过程;
对象名 'wzuhll.HomeWork_List' 无效。
由于绑定错误,无法使用视图或函数 'VIEW_hw_studentlist'。
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Default" value="Default" />
</appSettings>
<connectionStrings>
<add name="Default" connectionString="Data Source=192.168.1.197;User ID ......
在数据库中有一张表mytable,数据记录7000万条,有如下两条SQL语句
1.
select top 100 * from mytable order by operateDate
2.
select * from (select top 100 * from mytable ) a order by a.operateDate
起初我使用第一条语句查询数据,并希望将得到的 ......
JOIN优化
MySQL中join的实现采用的是Nested Loop Join算法。通过驱动表的结果集作为循环基础数据,然后将该结果集中的数据作为过滤
条件一条条的到下一个表中查询数据,最后合并结果,如果存在后续表,过程也如此。
尽量减少join语句中nested loop循环的次数。最有效的方法是让驱动表的结果集尽可能的小
优先优化nested ......
以下说明均针对企业版或者开发版;
1.开启sql server 实例的远程连接;
“开始”-->“程序”-->“Microsoft SQL Server 2005”-->“配置工具”-->“SQL Server 外围应用配置器”-->“服务和连接的外围应用配置器”--> ......