zoukankan      html  css  js  c++  java
  • 动态添加列

    if exists (select * from sysobjects where name='aa')
    drop proc aa
    go
    create proc aa
    as
        create table #tb2
         (
         id int,
         uName varchar(10)
         );
        declare @id int,@uName varchar(10),@tName varchar(10)
        declare cur_se cursor for select u.id,u.name,t.Name from [User] u inner join dbo.UserTb t on u.id=t.Pid;
        open cur_se
        declare @i int;
        set @i=0;
        declare @c varchar(10)
        declare @v varchar(10)
        declare @count int
        fetch next from cur_se into @id,@uName,@tName
        while(@@FETCH_STATUS=0)
            begin 
            select @count=COUNT(0) from #tb2 where id=@id;
            if(@count=0)
                begin
                insert into #tb2(id,uName) values(@id,@uName) 
                end
            set @i=@i+1
            set @c=CONVERT(varchar(10),@i)
            exec('alter table #tb2 add uName'+@c+' varchar(20)')
            set @v=@tName
            exec('update #tb2 set uName'+@c+'='''+@v+''' where id='+@id+'')
            fetch next from cur_se into @id,@uName,@tName
            end
         close cur_se
         deallocate cur_se
         select * from #tb2
    go
    exec aa

    表结构:

    USE [Text]
    GO
    /****** 对象:  Table [dbo].[User]    脚本日期: 01/09/2014 22:19:23 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[User](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
     CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED 
    (
        [id] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    
    USE [Text]
    GO
    /****** 对象:  Table [dbo].[UserTb]    脚本日期: 01/09/2014 22:19:35 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[UserTb](
        [id] [int] IDENTITY(1,1) NOT NULL,
        [Pid] [int] NULL,
        [Name] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
     CONSTRAINT [PK_UserTb] PRIMARY KEY CLUSTERED 
    (
        [id] ASC
    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO
    SET ANSI_PADDING OFF
  • 相关阅读:
    14-6 XShell连接远程服务器
    14-5 XManager工具安装
    14-4 本地私有化部署方案介绍
    14-3 阿里云域名购买及备案流程
    14-2 阿里云ECS服务器购买介绍
    13-7 Docker基本使用总结
    初识Redux-Saga
    React Native填坑之旅 -- FlatList
    React Native填坑之旅 -- 使用react-navigation代替Navigator
    React Native填坑之旅 -- 回归小插曲
  • 原文地址:https://www.cnblogs.com/wzq806341010/p/3513001.html
Copyright © 2011-2022 走看看