복붙노트

[SQL] 이유는 "프로 시저 매개 변수 '@statement'유형의 'NTEXT / NCHAR / NVARCHAR'를 기대하고있다."받을 수 있나요 나는 sp_executesql을 사용하려고 할 때?

SQL

이유는 "프로 시저 매개 변수 '@statement'유형의 'NTEXT / NCHAR / NVARCHAR'를 기대하고있다."받을 수 있나요 나는 sp_executesql을 사용하려고 할 때?

이유는이 오류를받을 수 있나요

Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'.

나는 sp_executesql을 사용하려고 할 때?

해결법

  1. ==============================

    1.당신 같은 소리는 NVARCHAR 할 필요가있을 때하는 VARCHAR 문을 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
    
  2. ==============================

    2.이 솔루션은 유형과이를 표시하기 위해 SQL 문자열 모두의 앞에서 N을 넣어하는 것입니다 더블 바이트 문자 문자열입니다 :

    이 솔루션은 유형과이를 표시하기 위해 SQL 문자열 모두의 앞에서 N을 넣어하는 것입니다 더블 바이트 문자 문자열입니다 :

    DECLARE @SQL NVARCHAR(100) 
    SET @SQL = N'SELECT TOP 1 * FROM sys.tables' 
    EXECUTE sp_executesql @SQL
    
  3. ==============================

    3.나는 또 다른 작은 세부 사항을 놓쳤다 : 나는 괄호를 잊어 버렸습니다 "(100)"NVARCHAR 뒤에.

    나는 또 다른 작은 세부 사항을 놓쳤다 : 나는 괄호를 잊어 버렸습니다 "(100)"NVARCHAR 뒤에.

  4. from https://stackoverflow.com/questions/2743890/why-do-i-get-procedure-expects-parameter-statement-of-type-ntext-nchar-nvar by cc-by-sa and MIT license