比如我向多个人提问
提问表里产生一条记录
而回复表里就对应的产生多条记录
多个人是存放在一个变量里的  如:'小明,小华,小张'
那在回复表里就要产生三条记录  就是要把他们三个分个存!!
请大吓们帮帮忙,   很急!!Create table stu_ask_Table
(
  askID   int identity(1,1) primary key not null,
  stu_id   varchar(12) not null,
  title     nvarchar(100),
  content  nvarchar(3000),
  send_date datetime,
  publish   bit
)
goCreate table teacher_answer_Table
(
answerID    int identity primary key not  null,
askID       int foreign key  references stu_ask_Table (askID),
facultyID    nvarchar(10)  foreign  key 
references  faculty_basic_info_table (facultyID),
Answer_content  nvarchar (3000),
Answer_date     datetime,
Answer_state     Char(10),
Answer_publish   bit
)

解决方案 »

  1.   

    create procedure proc_ask_answer 
    (@stuid varchar(12),@newAskID int)
    AS
     insert into stu_ask_Table values(......);
     SET @newAskID = @@IDENTITY;
     insert into teacher_answer_Table values (@newAskID......);大概写了写。放到事务里执行。
      

  2.   

    @facultyID ='小明,小华,小张'存在facultyID这个字段里就要变成一个一个的 
    怎样把三个人分开
      

  3.   


    (所影响的行数为 1 行)服务器: 消息 8152,级别 16,状态 9,过程 proc_ask_answer,行 16
    将截断字符串或二进制数据。
    语句已终止。
    服务器: 消息 266,级别 16,状态 2,过程 proc_ask_answer,行 29
    EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 1,当前计数 = 0。
      

  4.   

    这种最好不要用存储过程,执行多条的,不通用!一次可以传多条一起执行,String^ strHead = L"update RRS_InspectionResultsCityPDA set rrsiicResult="; for(int i=0; i< checkTable->Rows->Count; i++)
    {
    strbCheckItem->Append(strHead)
    ->Append(checkTable->Rows[i]["chkResu"]->ToString());
    strbCheckItem->Append(",rrsiicRes=")
    ->Append("'")
    ->Append(checkTable->Rows[i]["chkRe"]->ToString())
    ->Append("' where rrsNum='")
    ->Append(strRoomNum)
    ->Append("' and rrsiicID=")
    ->Append(checkTable->Rows[i]["chkItemID"]->ToString())
    ->Append(";");
    } if(m_DbOperate->ExcelSql(strbCheckItem->ToString()) < 0)
      

  5.   

    DECLARE @SQL NVARCHAR(4000),@SQLLength INT,@TagIndex INT
    SET @SQL='小明,小华,小张,'--我在这里添加了一个,号
    SET @SQLLength=LEN(@SQL)
    SET @TagIndex=CHARINDEX(',',@SQL)
    WHILE (@SQLLength>0)
    BEGIN
    PRINT SUBSTRING(@SQL,0,@TagIndex)
    SET @SQL=RIGHT(@SQL,@SQLLength-@TagIndex)
    SET @SQLLength=LEN(@SQL)
    END小明
    小华
    小张