有一用户 loginid=‘test’,数据库=‘mydb’,db_owner,默认Schema名 ‘test’。
一般情况下,用test登录该数据,可以对dbo.tblxxx和test.tblyyy进行操作,现在写一个存储过程,该存储过程Schema=‘dbo’,有如下代码:delete from tbl1 (dbo)
delete from tbl2 (test,由于该存储过程可由多个用户调用,每个用户均db_owner,各用户有各自不同的默认Schema名,所以此处不能写test.tbl2)存储过程建成后,以test用户登录执行,错误信息指示:tbl2不存在。 (dbo.tbl2不存在,test.tbl2存在)怎么样解决这个问题?谢谢
一般情况下,用test登录该数据,可以对dbo.tblxxx和test.tblyyy进行操作,现在写一个存储过程,该存储过程Schema=‘dbo’,有如下代码:delete from tbl1 (dbo)
delete from tbl2 (test,由于该存储过程可由多个用户调用,每个用户均db_owner,各用户有各自不同的默认Schema名,所以此处不能写test.tbl2)存储过程建成后,以test用户登录执行,错误信息指示:tbl2不存在。 (dbo.tbl2不存在,test.tbl2存在)怎么样解决这个问题?谢谢
create proc sp_1
@pama1 int, @pama2 int --,@pama3 int,...
with EXECUTE AS 'test'
as
begin
delete from dbo.tbl1
delete from test.tbl2
end
对,楼主用的就是2005,2000里面是没有Schema的,,,
加上Schema名称,默认是dbo