SQL Server存储过程:动态创建数据库和数据表
在SQL Server中,可以使用动态SQL来在存储过程中新建数据库以及数据表。以下是一个示例:
CREATE PROCEDURE CreateDatabaseAndTable
@dbName NVARCHAR(50),
@tableName NVARCHAR(50)
AS
BEGIN
DECLARE @sql NVARCHAR(MAX)
-- 创建数据库
SET @sql = N'CREATE DATABASE ' + QUOTENAME(@dbName)
EXEC (@sql)
-- 切换到新创建的数据库
SET @sql = N'USE ' + QUOTENAME(@dbName)
EXEC (@sql)
-- 创建数据表
SET @sql = N'CREATE TABLE ' + QUOTENAME(@tableName) + ' (ID INT PRIMARY KEY, Name NVARCHAR(50))'
EXEC (@sql)
END
在存储过程中,首先使用CREATE DATABASE
语句创建新的数据库,然后使用USE
语句切换到新创建的数据库,最后使用CREATE TABLE
语句创建数据表。QUOTENAME
函数用于处理数据库名和表名,确保它们的格式正确。
使用示例:
EXEC CreateDatabaseAndTable 'MyDatabase', 'MyTable'
上述示例中,存储过程CreateDatabaseAndTable
接收两个参数:数据库名MyDatabase
和数据表名MyTable
。执行存储过程后,将创建一个名为MyDatabase
的数据库,并在其中创建一个名为MyTable
的数据表。
原文地址: http://www.cveoy.top/t/topic/p83v 著作权归作者所有。请勿转载和采集!