CREATE PROCEDURE test2 @tbname char(20) AS
create table dbo.hgkim@tbname (
aa int,
bb int)
GO
GRANT EXECUTE ON dbo.test2 TO ktdb
GO
위의 스토어드 프로스듀어 문은 sqlserver6.5에서 쓴 구문이구요..
델파이에서는
Q1:=TQuery.Create(Self);
Q1.DataBaseName := 'ktdb';
Q1.Sql.Clear;
Q1.Sql.Add('exec test2');
Q1.ExecSQL;
와 같이 call을 했읍니다. 그런데.. 에러가 나는 군여... stored proc 콤포넌트를
쓰면 'operation not applicable' 이란 에러가 나는 군요..
그런데. 제가 하고 싶은것은 테이블명을 파라메터로 줘서 파라메터에 따라 다르게
테이블을 생성하려고 하는데.. 잘 안되는 군요..
고수님의 도움을 애타게(?) 기다립니다.. 도와 주세요..
> CREATE PROCEDURE test2 @tbname char(20) AS
> create table dbo.hgkim@tbname (
> aa int,
> bb int)
> GO
> GRANT EXECUTE ON dbo.test2 TO ktdb
> GO
>
> 위의 스토어드 프로스듀어 문은 sqlserver6.5에서 쓴 구문이구요..
>
> 델파이에서는
> Q1:=TQuery.Create(Self);
> Q1.DataBaseName := 'ktdb';
>
> Q1.Sql.Clear;
> Q1.Sql.Add('exec test2');
> Q1.ExecSQL;
>
> 와 같이 call을 했읍니다. 그런데.. 에러가 나는 군여... stored proc 콤포넌트를
> 쓰면 'operation not applicable' 이란 에러가 나는 군요..
>
> 그런데. 제가 하고 싶은것은 테이블명을 파라메터로 줘서 파라메터에 따라 다르게
> 테이블을 생성하려고 하는데.. 잘 안되는 군요..
>
> 고수님의 도움을 애타게(?) 기다립니다.. 도와 주세요..
원래 MSSQL의 Stored Procedure에서 Object명을 파라미터로 받을 수 없게 되어 있습니다
원래 데이타베이스가 허용을 해야 어플리케이션쪽에서 사용 가능하겠지요.