반응형
"프로시 저는 'ntext / nchar / nvarchar'유형의 '@statement'매개 변수를 예상합니다."라는 메시지가 표시되는 이유는 무엇입니까? sp_executesql을 사용하려고 할 때?
이 오류가 발생하는 이유
Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.
sp_executesql을 사용하려고 할 때?
NVARCHAR이 필요할 때 VARCHAR 문으로 sp_executesql을 호출하는 것처럼 들립니다.
예를 들어 @SQL이 NVARCHAR이어야하므로 오류가 발생합니다.
DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
그래서:
DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
해결책은 he 유형과 SQL 문자열 앞에 N을 두어 2 바이트 문자열임을 나타내는 것입니다.
DECLARE @SQL NVARCHAR(100)
SET @SQL = N'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL
반응형
'Programing' 카테고리의 다른 글
C 쉼표 연산자 사용 (0) | 2020.09.09 |
---|---|
파이썬에 단어를 목록으로 분할하는 기능이 있습니까? (0) | 2020.09.09 |
월 및 연도 기준으로 만 mySQL 선택 (0) | 2020.09.09 |
이 난독 화 된 Haskell 코드는 어떻게 작동합니까? (0) | 2020.09.09 |
JSONarray를 ArrayList로 변환 (0) | 2020.09.09 |