0

我需要为 SQl server 2008 编写一个存储过程,以将员工逗号的所有任务分开,并希望将其显示在下一个表的单个列中。在 EmployeeID 前面,所有任务都应该显示为一个特定的员工逗号分隔。我的表是:

TableID int Primary key
EmployeeID  int 
Task  varchar(50)

我将 EmployeeID 作为参数传递。这个存储过程怎么写???请帮我..

4

1 回答 1

0

嗨 它可以在 Sp 中完成,但不是有效的方式 1)在一个 Varchar2 中获取该特定 coloum 的所有记录 2)打开一个字符串结果集。3)在一个变量中获取一条记录。附加 ',' 分配回新的 varchar2

current_count:=1
task_result_String = 'select task from tabel' 
total_task_count='select total task count' 

OPEN rset FOR task_result _string;
       LOOP
         FETCH rset INTO t_result;
           EXIT WHEN  rset%NOTFOUND;
          if( current_count =total_task_count) THEN
          task_final_result:=task_final_result||t_result;
          END IF;
         if( b_count <v_count)  THEN`enter code here`
        task_final_result:=task_final_result||t_result||',';
          END IF;
          curerent_count:=current_count+1;
          dbms_output.put_line('task with comma seperated'||task_final_result);
      END LOOP;

这里注意不要在最后加上','逗号,如果只有一条记录

于 2013-05-07T10:08:42.510 回答