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
도움을 주심 감사합니다. 나는 그 방울의 첫 번째 줄을 쓰는 다른 방법이 있는지 궁금하다. DECLARE @SQL VARCHAR (MAX) = '존재하는 경우 (선택 * FROM sys.objects WHERE object_id .... – user3756697
그것은 "벨트 및 팔찌" 100 % 확신 할 수있는 방법입니다. 때로는 못생긴 것이 가장 좋습니다. 동적 SQL을 사용해야합니까? –