1
我正在嘗試創建一個非常簡單的過程(使用簡單的代碼 - 我是一名初學者,並且希望保持代碼儘可能簡單),可以將一個表命名爲「表1」,並創建一個名爲表「學生」包含3列:ID,名稱,標誌刪除/創建表(SQL - 過程)
這是我的代碼,並沒有在所有的工作:
CREATE PROCEDURE Drop_Create
@Table1 VARCHAR(MAX),
@Students VARCHAR(MAX)
AS
BEGIN
DECLARE @SQL VARCHAR(MAX);
SELECT @SQL = 'CREATE TABLE ' + @Students + '('SELECT @SQL = @SQL + '[ID] [int] IDENTITY(1,1) NOT NULL,[Name] [NVARCHAR(50)] NOT NULL,[Mark] [INT])';
SET @SQL = 'IF EXISTS DROP TABLE [' + @Table1 + ']'
PRINT @SQL;
EXEC @SQL;
END
GO
謝謝你的幫助。我想知道是否還有其他的方法可以寫出Drop的第一行: DECLARE @SQL VARCHAR(MAX)='IF EXISTS(SELECT * FROM sys.objects WHERE object_id .... – user3756697
這是「皮帶和護腕」有時候醜陋是最好的,你是否需要使用動態SQL?你從來沒有回答過我的問題。 –