3
에 서버 및 데이터베이스를 통과SQL 서버 - 저장 프로 시저
내가
exec [dbo].[Logger]
@Server = @@servername,
@Database = db_name(db_id()),
@Task = 'Some task';
을 다음과 같이 몇 가지 로깅을 수행하는 저장 프로 시저에 서버 이름 및 데이터베이스 이름을 전달하기 위해 노력하고 있어요 (질문의 아마추어 자연 실례)
하지만 나는이 오류가 계속 -
메시지 102, 수준 15, 상태 1, 줄 10
근처의 구문이 잘못은 'DB_ID'.
나는 이것을 declare @dbname varchar(255) = db_name(db_id());
을 맨 위에 사용한 다음 사용하고 있습니다. 그러나 그것은 불필요한 변수처럼 보입니다.
감사
DB_NAME은 NVARCHAR (128)하지 VARCHAR (255) –
을 반환 추가 변수가 ** ** 실제로 필요한 당신 ** 할 수 없습니다 ** 사용 기능 이후 저장 프로 시저 실행 호출에서 변수 및/또는 리터럴에 필요한 모든 값을 –
duplicate 중 필요합니다. http://stackoverflow.com/questions/5967035/using-function-as-a-parameter-when-executing- a-stored-procedure –