집 >데이터 베이스 >MySQL 튜토리얼 >T-SQL 저장 프로시저에서 테이블을 동적으로 만드는 방법은 무엇입니까?
T-SQL의 저장 프로시저에서 테이블을 동적으로 생성하는 방법
제공된 테이블에 표시된 대로 테이블 변수를 임시 테이블로 생성 예를 들어, 올바르지 않습니다. 임시 테이블을 생성하려면 다음 구문을 사용하십시오.
CREATE TABLE #customer ( Name varchar(32) not null )
테이블 변수를 선언하려면 다음 구문을 사용하십시오.
DECLARE @Customer TABLE ( Name varchar(32) not null )
동적 SQL은 저장된 테이블을 생성하는 대체 방법을 제공합니다. 절차. SQL 문을 문자열로 구성하고 실행할 수 있습니다.
CREATE PROCEDURE sproc_BuildTable @TableName NVARCHAR(128) ,@Column1Name NVARCHAR(32) ,@Column1DataType NVARCHAR(32) ,@Column1Nullable NVARCHAR(32) AS DECLARE @SQLString NVARCHAR(MAX) SET @SQString = 'CREATE TABLE '+@TableName + '( '+@Column1Name+' '+@Column1DataType +' '+@Column1Nullable +') ON PRIMARY ' EXEC (@SQLString) GO
이 저장 프로시저는 다음과 같이 실행할 수 있습니다.
sproc_BuildTable 'Customers','CustomerName','VARCHAR(32)','NOT NULL'
그러나 저장 프로시저에서 테이블을 동적으로 생성하는 것은 일반적으로 권장하지 않는 이유:
테이블을 생성해야 하는 경우 동적으로 정의된 가격으로 매장을 기존 제품 테이블에 매핑하는 등 다른 솔루션을 모색해 보세요.
위 내용은 T-SQL 저장 프로시저에서 테이블을 동적으로 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!