T-SQL How to create tables dynamically in stored procedures?

后端 未结 5 1087
执笔经年
执笔经年 2020-11-29 05:16

Code like this, but it\'s wrong:

CREATE PROC sp_createATable
  @name        VARCHAR(10),
  @properties  VARCHAR(500)
AS
  CREATE TABLE @name
  (
    id  CHAR         


        
5条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-29 05:59

    You will need to build that CREATE TABLE statement from the inputs and then execute it.

    A simple example:

    declare @cmd nvarchar(1000), @TableName nvarchar(100);
    
    set @TableName = 'NewTable';
    
    set @cmd = 'CREATE TABLE dbo.' + quotename(@TableName, '[') + '(newCol int not null);';
    
    print @cmd;
    
    --exec(@cmd);
    

提交回复
热议问题