EXEC fn_test AAAA
위와 같이 실행하면 n_detaildivisiontestAAAA 라는 테이블이 생성되고 다른 테이블과 관계를 맺어야하는데요.
이렇게 변수로 인식이 않되고 특수문자까지 모조리 테이블이름이 되어버리는군요.
n_detailtest+@tablename
ㅜㅜ 클라이언트에서 모두 했었는데 저장프로시져를 이제야 공부해서 쓰려고하니 남감해요.
어떻게 해야 되죠?
CREATE PROCEDURE [dbo].[fn_createdetaildivision]
@tablename char(255)
AS
CREATE TABLE [dbo].[n_detaildivisiontest+@tablename] (
[Division_id] [bigint] IDENTITY (1, 1) NOT NULL ,
[NormalDivision_id] [bigint] NOT NULL ,
[DivisionName1] [varchar] (50) COLLATE Korean_Wansung_CI_AS NOT NULL ,
[DivisionName2] [varchar] (50) COLLATE Korean_Wansung_CI_AS NOT NULL ,
[DivisionName3] [varchar] (50) COLLATE Korean_Wansung_CI_AS NOT NULL ,
[RegisterDate] [varchar] (10) COLLATE Korean_Wansung_CI_AS NOT NULL
) ON [PRIMARY]
ALTER TABLE [dbo].[n_detaildivisiontest+@tablename] WITH NOCHECK ADD
CONSTRAINT [PK_n_detaildivisiontest+@tablename] PRIMARY KEY CLUSTERED
(
[Division_id]
) ON [PRIMARY]
ALTER TABLE [dbo].[n_detailtest+@tablename] ADD
CONSTRAINT [FK_n_detailtest+@tablename+_n_normal] FOREIGN KEY
(
[Normal_id]
) REFERENCES [dbo].[n_normal] (
[Division_id]
)
GO |