str(@@rowcount)把修改行数由数字数据转换来的字符数据。
return没有返回任何东西。

解决方案 »

  1.   

    那,那个return语句等于没用,可以不写了?书上写“在创建触发器时,不允许return返回体现运行状态的数据”,可为什么我看书上很多程序都有return语句,比如上述这个例子。
      

  2.   

    在这里return只是表示退出触发器的执行,并不返回什么值!
    @@rowcount,表示最后执行的一条SQL语句所影响的行数!
      

  3.   

    完整的程序是这样的:
    use northwind
    if exists (select name from sysobjects
               where name = 'tr_product_update' and type ='tr')
       drop trigger tr_product_update
    gouse northwind
    gocreate trigger tr_product_update on products
    for update
    as
    declare @msg varchar(100)
    select @msg = str (@@rowcount)+'employees updated by this statement'
    print @msg
    return 
    go
    那,@@rowcount所表示的那最后执行的一条SQL语句是什么呢?
    是declare 语句吗?
      

  4.   

    str (@@rowcount)+'employees updated by this statement'
    这是在sql server中进行字符串运算。得到一个字符串结果赋值给@msg
    然后,打印这个@msg
    就是这样。
      

  5.   

    我想知道,@@rowcount所表示的那最后执行的一条SQL语句是什么呢?因为我查全局变量@@rowcount也是说这个意思,但我不知道究竟指哪个语句
      

  6.   

    我想知道,@@rowcount所表示的那最后执行的一条SQL语句是什么呢?因为我查全局变量@@rowcount也是说这个意思,但我不知道究竟指哪个语句
      

  7.   

    最后执行的一条SQL语句:打印工執行的的update語句。
      

  8.   

    不是吧,@@rowcount所指的那“最后一条语句”得在@@rowcount之前吧。不是打印共执行的update语句
      

  9.   

    这是一个UPDATE触发器,@@ROWCOUNT代表的是你触发这个触发器所执行的UPDATE语句所影响的行数!