用户,是指sql定义的用户,还是你自己那套系统的用户?

解决方案 »

  1.   

    当然是SQL定义的用户,我的想法是除开改表名或删触发器之外如果不是用指定的用户登录的话就不能对表进行操作,我这里的用户就是指system_user
      

  2.   

    我的触发器的意思是让一般不会高级操作的用户不能操作表数据,必须由我的程序来操作,
    create trigger test on table
    INSTEAD OF DELETE,INSERT,UPDATE
    as 
    print '对不起,权限不够!操作未能执行.'
    如果是这样的话那么任何UPDATE,DELETE,INSERT操作都不能在查询分析器或是企业管理器里执行(如果不改名或是删掉触发器)
    这样就有个问题,我的程序所用的SQL用户也不能进行操作了
    不知道明白我的意思没有
      

  3.   

    declare @loginame varchar(20)
    select @loginame=loginame from sysprocesses where spid=@@spid
    if @loginame<>'use1' and ...
    begin
    print ''
    roalback
    return
    end不过还是在前台控制好。
      

  4.   

    declare @loginame varchar(20)
    select @loginame=loginame from master..sysprocesses where spid=@@spid
    if @loginame<>'use1' and ...
    begin
    print ''
    roalback
    return
    end
      

  5.   

    create trigger test on Table
     For  DELETE,INSERT,UPDATE
    as 
    if( SYSTEM_USER<>'MyUser')
    begin
    print '对不起,权限不够!操作未能执行.'
    rollback
    return
    end