写存储过程,我们会经常需要动态创数据表,如临时表等。下面例子是使用Execute来创建一个数据表。
--
宣告一个变量
DECLARE @tableName NVARCHAR ( 30 ) = ' DummyTableName '
DECLARE @tableName NVARCHAR ( 30 ) = ' DummyTableName '
动态创建表,
代码
EXECUTE
(
'
--判断表对象是否存在,
IF OBJECT_ID( '' [dbo].[ ' + @tableName + ' ] '' ) IS NOT NULL
DROP TABLE [dbo].[ ' + @tableName + ' ];
--创建一个表
CREATE TABLE [dbo].[ ' + @tableName + ' ]
(
[IValue] DECIMAL(18,6),
[DValue] DECIMAL(18,6)
);
' )
--判断表对象是否存在,
IF OBJECT_ID( '' [dbo].[ ' + @tableName + ' ] '' ) IS NOT NULL
DROP TABLE [dbo].[ ' + @tableName + ' ];
--创建一个表
CREATE TABLE [dbo].[ ' + @tableName + ' ]
(
[IValue] DECIMAL(18,6),
[DValue] DECIMAL(18,6)
);
' )
然后可以使用这个表,
INSERT
INTO
[
dbo
]
.
[
DummyTableName
]
VALUES
(
2.0
,
3.0
),(
2.5
,
3.0
);
SELECT * FROM [ dbo ] . [ DummyTableName ] ;
SELECT * FROM [ dbo ] . [ DummyTableName ] ;
结果,