执行此脚本时,出现语法错误。怎么了?
use TEST
go
CREATE TABLE newTagsTable
(
(SELECT TEST.dbo.dynamicTags.Alais
FROM TEST.dbo.dynamicTags
WHERE ID = 2) varchar(200)
);
答案 0 :(得分:0)
这是您需要的吗?
SELECT Alais
into newTagsTable
FROM dynamicTags
WHERE ID = 2;
好,然后这样:
create procedure test_proc
as
declare @p_sql varchar(2000);
declare @p_sql_2 varchar(2000);
declare @getid CURSOR;
SET @getid = CURSOR FOR
SELECT Alais
FROM dynamicTags;
begin
set @p_sql = 'create table newTagsTable (';
OPEN @getid
FETCH NEXT
FROM @getid INTO @p_sql_2
WHILE @@FETCH_STATUS = 0
begin
set @p_sql = @p_sql + @p_sql_2 + ' varchar(20),'
FETCH NEXT FROM @getid INTO @p_sql_2
end;
set @p_sql = left(@p_sql, len(@p_sql)-1) + ')';
EXEC (@p_sql);
end;
然后执行以下过程:
exec test_proc
您可以为此添加参数以使其在其他情况下更可用... 这是第二个选项的演示: