복붙노트

[SQL] ''근처의 구문이 잘못되었습니다

SQL

''근처의 구문이 잘못되었습니다

나는 SQL Server 관리 Studio에서 다음과 같은 매우 간단한 쿼리를 실행하기 위해 노력하고있어 :

SELECT TOP 1000 * 
FROM 
    master.sys.procedures as procs
left join 
    master.sys.parameters as params on procs.object_id = params.object_id

이것은 완전히 정확한 것, 그러나 나는 다음과 같은 오류가 점점 계속 :

내가 가입 만 간단하게 선택 할 꺼내 경우 작동합니다 :

SELECT TOP 1000 *
FROM 
    master.sys.procedures as procs

그러나 나는이 일에 참여해야합니다. 나는 그것을 좋아하지 않는 무엇을 알아낼 수 없습니다 그래서 난이 쿼리 문자열을 ''가 없습니다.

해결법

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

    1.웹 페이지 또는 이메일에서 코드를 복사 할 때 이러한 예기치 않은 문제가 나타날 수 있으며 텍스트는 개별 CR 또는 LF 및 비 분리 공백 같은 인쇄 할 수없는 문자가 포함되어 있습니다.

    웹 페이지 또는 이메일에서 코드를 복사 할 때 이러한 예기치 않은 문제가 나타날 수 있으며 텍스트는 개별 CR 또는 LF 및 비 분리 공백 같은 인쇄 할 수없는 문자가 포함되어 있습니다.

  2. ==============================

    2.PANAGIOTIS Kanavos 오른쪽, 때로는 복사 T-SQL 원치 않는 문자를 표시 할 수 있습니다 붙여 넣기입니다 ...

    PANAGIOTIS Kanavos 오른쪽, 때로는 복사 T-SQL 원치 않는 문자를 표시 할 수 있습니다 붙여 넣기입니다 ...

    나는 마지막으로 수동으로 전체 문을 다시 작성하지 않고, 잘못 된 문자 감지하는 간단하고 빠른 방법 (필요한 경우에만 메모장 ++) 발견 : 디스크에있는 파일을 저장할 필요가 없습니다.

    그것은 ++ 메모장에서 꽤 빠르다 :

    당신은 쉽게 잘못된 문자 (들)을 찾아야한다

  3. ==============================

    3.나에게 오류가 나는 텍스트 파일에서 SQL 문을 읽고, 텍스트 파일의 BOM (바이트 순서 표시) 형식으로 UTF-8로 저장 한 것이 었습니다.

    나에게 오류가 나는 텍스트 파일에서 SQL 문을 읽고, 텍스트 파일의 BOM (바이트 순서 표시) 형식으로 UTF-8로 저장 한 것이 었습니다.

    이 문제를 해결하기 위해, 나는 메모장에서 파일을 열 ++ 및 인코딩에서 UTF-8을 선택했다. 또는 당신은 16 진수 편집기로 파일의 처음 세 바이트를 제거 할 수 있습니다.

  4. ==============================

    4.나는 ADO.NET을 사용하고 같은 SQL 명령을 사용하고 있었다 :

    나는 ADO.NET을 사용하고 같은 SQL 명령을 사용하고 있었다 :

     string query =
    "SELECT * " +
    "FROM table_name" +
    "Where id=@id";
    

    문제는 + 내가 "TABLE_NAME FROM"의 끝에 공백을 놓친했다 그래서 기본적으로 말했다

    string query = "SELECT * FROM table_nameWHERE id=@id";
    

    이 오류가 발생했습니다.

    희망이 도움이

  5. ==============================

    5.나는 DECLARE 문에 별칭 열을 붙여 때문에이 오류가 발생했습니다.

    나는 DECLARE 문에 별칭 열을 붙여 때문에이 오류가 발생했습니다.

    DECLARE @userdata TABLE(
    f.TABLE_CATALOG nvarchar(100),
    f.TABLE_NAME nvarchar(100),
    f.COLUMN_NAME nvarchar(100),
    p.COLUMN_NAME nvarchar(100)
    )
    SELECT * FROM @userdata 
    

    오류: 메시지 102, 수준 15, 상태 1, 줄 2 근처의 구문이 잘못되었습니다 '.'.

    DECLARE @userdata TABLE(
    f_TABLE_CATALOG nvarchar(100),
    f_TABLE_NAME nvarchar(100),
    f_COLUMN_NAME nvarchar(100),
    p_COLUMN_NAME nvarchar(100)
    )
    SELECT * FROM @userdata
    

    NO 오류

  6. from https://stackoverflow.com/questions/19730441/incorrect-syntax-near by cc-by-sa and MIT license