如何将一行数据合并到 sql 服务器中的一列

how to merge one row data to one column in sql server

我有一个触发器是这样的:

alter trigger newTrigger
on table2
after insert 
as
begin
    declare @rowData nvarchar(max)
    if exists(select * from inserted)
    begin
        Set @rowData = (select * from inserted)
    end

    insert into table1(rowData, date)
    values(@rowData, getdate())
end

我想插入table2后,插入的记录和日期插入到table1 但是我无法将行的数据合并为一列!

------------------table2--------------------
id   |  name  |   lname  | birth
1        j          jj       2000-03-03


-------------------table1 after insert into table2 -----------------
rowData            |     date
a,j,jj,2000-03-03       2017-05-07

您必须进行转换并在每一列中逐一添加

例如:

Set @rowData = (select cast(col1 as varchar(10)) + cast(col2 as varchar(10)) from inserted)

供您使用列名称进行编辑。如果该列已经是 varchar,您唯一需要注意的是避免长度溢出:

Set @rowData = (select cast((id + ',' + name + ',' + lname + ',' + cast(birth as varchar(12)) ) as varchar(4000))  from inserted)