写存储过程,我们会经常需要动态创数据表,如临时表等。下面例子是使用Execute来创建一个数据表。
--宣告一个变量
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)
);
')
然后可以使用这个表,
INSERT INTO [dbo].[DummyTableName] VALUES (2.0,3.0),(2.5,3.0);
SELECT * FROM [dbo].[DummyTableName];
结果,