在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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录