// 영빈님께서 답변해주신 내용입니다.
create procedure test @tablename char(255)
as
begin
declare @query char(1000)
set @query = "select * from " + @tablename
exec(@query)
end
우선 위와같은 형태의 쿼리로 실행에는 문제없이 잘 돌아갑니다.. 근대 이게 하나넘어가면 또 막히고 또막히고 그러내요 -_-;;
뷰를통해 백업을 받으려했지만.. 안되는것이 많아서 프로시저를 통해서 bcp덤프를 받으려 합니다.(정기적으로 백업이 필요한 기능입니다.)
1. 처음 실행문(start.sh)
isql -Usa -P -b -isql/${table[$cnt]}.sql -o$src/bcp_${table[$cnt]}.txt -s'^'
2. 쿼리호출 sql파일
use test
go
exec test 'tableName'
go
exit
테이블의 수만큼 2번 sql파일을 만들어서 1번을 루프를 돌면서 실행하고 있습니다.
그런대 sql파일을 하나만 만들고 해당 sql파일에 테이블명을 변수로 받게하고 싶은대.. 방법이 없을까요?
(혹은 sql파일없이 바로 프로시저로 파라메터 던져서 실행되게 할 순 없는지..)
그리고 sql문으로 백업받을경우 아래와같은 메시지가 붇어서 나옵니다. 이 메시지 출력안되게 할 수 없을까요?
(53362 rows affected)
(return status = 0)
질문하기 시작하니 끝도 없는듯 ㅜㅜ
|