서버의 모든 데이터베이스를 차례로 순환하여 저장 프로 시저를 실행하여 쿼리를 저장하려고하는 쿼리를 만들려고합니다. 결과 테이블. 모든 데이터베이스에서 저장 프로 시저 실행 및 모든 결과를 테이블에 저장
이
내가 지금까지 무엇을 가지고 :CREATE table results (Severity INT, PurchaseOrderNumber INT,
PurchaseOrderLineNumber SMALLINT, ShipmentNumber SMALLINT,
ErrorCode int, ErrorText VARCHAR(256), DateCreated datetime)
EXECUTE sp_msForEachDB '
IF "?" LIKE "VIS%"
BEGIN
USE "?"
INSERT INTO results EXECUTE IC_PURCHASEORDER
END
'
SELECT * FROM results
DROP TABLE results
내가이 코드는 서버에서 모든 데이터베이스를 통해 저장 프로 시저를 IC_PURCHASEORDER를 실행하는 것입니다에서 수행하고 결과를 기록 할 수 바라고 있어요 생성 된 결과 테이블에 추가합니다. 그 후, 나는 그 결과를 감독관에게 이메일로 보내고 테이블을 떨어 뜨릴 수있을 것이다. 그러나 그것은 다른 날을위한 일이다. 나는 구문 오류는 다음과 같은 오류
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '{insert database name here}'.
결과는 내가 달성하기 위해 노력하고있어 몇 가지 통찰력을 얻을 수있을 것이라고, IF 문에 존재 알아? 감사! 다음과 같이
않습니다
간단한 테스트를 ...이 실행, 그것은처럼 당신에게 '% %를'모든 DB의의를 말할 것이다 귀하의 SP는 모든 DB에 존재합니까? – JiggsJedi
나는 그렇다고 믿는다. 나중에이를 확인하기위한 수표를 추가 할 수는 있지만 지금 당장은 내가 테스트하는 모든 데이터베이스에 SP가 포함되어 있다고 가정합니다. – user3753769
아래의 답변은 실행을 시도하기 전에 존재하는 proc를 확인합니다. 그렇지 않으면 proc가 없습니다. – JiggsJedi