select * from products  
declare @name varchar(100)
DECLARE authors_cursor CURSOR FOR
SELECT name FROM products
WHERE name LIKE '*%'
ORDER BY nameOPEN authors_cursor
FETCH NEXT FROM authors_cursor @name declare @au_fname varchar(40),@addname varchar(40),@i int ,@number int
i = 0
WHILE @@FETCH_STATUS = 0BEGIN
   number=len(@name )  
   while number>i    begin
  
     namechar=SUBSTRING(@name ,1,number-i)
  
       if namechar='*'
     
           i++
       else
  
          addname=addname+namechar
    end
update products set name=addname where current of authors_cursor
   FETCH NEXT FROM authors_cursor @name 
ENDCLOSE authors_cursor
DEALLOCATE authors_cursor
GO

解决方案 »

  1.   

    select * from products  
    declare @name varchar(100)
    DECLARE authors_cursor CURSOR FOR
    SELECT name FROM products
    WHERE name LIKE '*%'
    ORDER BY nameOPEN authors_cursor
    FETCH NEXT FROM authors_cursor @name declare @au_fname varchar(40),@addname varchar(40),@i int ,@number intWHILE @@FETCH_STATUS = 0
    BEGIN
       set @addname =REPLACE(@name,'*','')
       update products set name=@addname where name = @name
       FETCH NEXT FROM authors_cursor @name 
    ENDCLOSE authors_cursor
    DEALLOCATE authors_cursor
    GO
      

  2.   

    其实你的意思只要一句话就搞定了,当然你练习游标的用法可以看看写法update table set name = REPLACE(name,'*','')