是否可以使用insert(select,update,delete)创建表?

时间:2014-07-23 10:07:59

标签: sql-server create-table

由于一些限制,我可以使用SELECT,INSERT,UPDATE,DELETE。是否可以使用此方法绕过 CREATE TABLE

我找到了系统表和系统视图: sys.objects INFORMATION_SCHEMA.COLUMNS

因此可以模拟这个:

CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size)
);

使用类似的东西:

INSERT INTO INFORMATION_SCHEMA.COLUMNS (TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE) 
VALUES ('dbo','table_name','column_name1','data_type');
INSERT INTO INFORMATION_SCHEMA.COLUMNS (TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE) 
VALUES ('dbo','table_name','column_name2','data_type');
INSERT INTO INFORMATION_SCHEMA.COLUMNS (TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE) 
VALUES ('dbo','table_name','column_name3','data_type');

我担心 INFORMATION_SCHEMA 是查看而不是表格,但我希望有一些方法可以做到。

1 个答案:

答案 0 :(得分:2)

试试这个

select '1' as column_name1 ,'Anand' as column_name2 ,'3' as column_name3 into table_name

这会创建表table_name。但数据长度用作指定的值。第一列获取varchar(1),第二列获取varchar(5)