请教一下,SQL2005在数据库的触发器或者存储过程中支持用SPLIT不?我现在想给数据库传递一个参数,这个能数,是以"|"符号隔开的,如xx|dfdsf|森  等,我想当插入一条记录时,写个触发器,把这个参数用split分组取值,再在另外一个表falg表中插入记录,如参数是ss|sss  就插入二行,并且列数据中有ss,不知道有没有更好的办法

解决方案 »

  1.   

    借助sql 2005新增的xml数据类型及对xml类型的一系列处理方法
    2005的分拆已经不像2000那样有诸多不便和不灵活了.
      

  2.   

    http://blog.csdn.net/zjcxc/archive/2006/06/09/784276.aspx
    【交流】SQL 2005溢用之:分拆列值-- 示例数据DECLARE @t TABLE(id int, [values] varchar(100))INSERT @t SELECT 1, 'aa,bb'UNION ALL SELECT 2, 'aaa,bbb,ccc' -- 查询处理SELECT     A.id, B.valueFROM(    SELECT id, [values] = CONVERT(xml,            '<root><v>' + REPLACE([values], ',', '</v><v>') + '</v></root>')    FROM @t)AOUTER APPLY(    SELECT value = N.v.value('.', 'varchar(100)')    FROM A.[values].nodes('/root/v') N(v))B /*--结果id          value----------- --------1           aa1           bb2           aaa2           bbb2           ccc (5 行受影响)--*/
      

  3.   

    完全支持
    2005支持所有.net的东西