解决方案 »

  1.   


    CREATE TRIGGER tr_cA ON A
    FOR INSERT
    AS
    SET NOCOUNT ON;
    BEGIN
    DECLARE @Sql NVARCHAR(max)
    SET @Sql=''
    SELECT 'ALTER TABLE B ADD '+FName+' char(4);UPDATE B SET '+FName+'='''+FID+''';' FROM INSERTED 
    EXEC(@Sql)
    END
      

  2.   

    一行记录的B表有什么用处?如果FID是乱序的,显示时列的次序还是要重新调整。
    要显示不如前台直接取A表,行列转换用程序处理更方便。
      

  3.   

    少敲打了赋值 @Sql=
    CREATE TRIGGER tr_cA ON A
    FOR INSERT
    AS
    SET NOCOUNT ON;
    BEGIN
        DECLARE @Sql NVARCHAR(max)
        SET @Sql=''
        SELECT @Sql=@Sql+'ALTER TABLE B ADD '+FName+' char(4);UPDATE B SET '+FName+'='''+FID+''';' FROM INSERTED 
        EXEC(@Sql)
    END