6.5的VARCHAR不够长,以下方法可以:
DECLARE ACUR CURSOR FOR
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'DECLARE @NAME VARCHAR(40)
DECLARE @SQL VARCHAR(255)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant SELECT ON '+ @NAME+' TO USER1')FETCH NEXT FROM ACUR INTO @NAMEENDCLOSE ACUR
DEALLOCATE ACUR
DECLARE ACUR CURSOR FOR
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'DECLARE @NAME VARCHAR(40)
DECLARE @SQL VARCHAR(255)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant SELECT ON '+ @NAME+' TO USER1')FETCH NEXT FROM ACUR INTO @NAMEENDCLOSE ACUR
DEALLOCATE ACUR
以下为语句
use A
go
grant create table,create view
to user1
go
use A
go
sp_adduser user1
go
再试试