데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.

mysql 함수를 생성하려 하는데 구문오류가 계속 뜹니다..

검색해서 나오는 갖가지 예제들도 참고해서 이것저것 바꾸어 보았는데

뭐가 잘못된건지 찾을 수가 없어서.. 혹시 도움을 받을 수 있을까 싶어 글을 올립니다.


mssql에 있던 DB를 그대로 mysql로 옮기는 업무 중이라 함수도 똑같이 만드는 중입니다.

mssql에 있던 함수를 그대로 갖다놓고 mysql 형식을 검색해보며 그에 맞게 바꾸는 식으로 하고 있습니다..


오히려 안쪽 select문 같은건 테스트도 해봤고 한데.. 아래쪽도 분명 오류가 날건데 그쪽은 가보기도전에

윗쪽에 구문이 대체 뭐가 잘못된건지.. 조금씩 조금씩 변형을 줘 봐도 계속 같은 부분에서 맴도네요... ㅠㅠ

감사합니다.



---------------------------------


오류 코드: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@pointLon REAL, @pointLat REAL)
 RETURNS @ContainsData TABLE
 (
 BW_AREA_ID V' at line 2


----------------------


DELIMITER $$

DROP FUNCTION IF EXISTS db1.myfn_ContainsPointInPolygon$$
CREATE FUNCTION `db1`.`myfn_ContainsPointInPolygon`(@pointLon REAL, @pointLat REAL)
 RETURNS @ContainsData TABLE
 (
 BW_AREA_ID VARCHAR(3),
 BW_AREA_NAME VARCHAR(20)
 )
 
 AS
 BEGIN
 
  DECLARE @BW_AREA_ID VARCHAR(3)
  DECLARE @BW_AREA_NAME VARCHAR(20)
  
  DECLARE @pt REAL
  SET @pt=REAL::POINT(@pointLat, @pointLon)
  
  -- 유역
  SELECT LIMIT 1 @BW_AREA_ID=AREA_ID, @BW_AREA_NAME=AREA_NAME
  FROM (SELECT ST_Intersects(geom,@pt) AS intpt, BW_CODE AS AREA_ID, BW_NAME AS AREA_NAME
    FROM BW_AREA_ST) RES_TABLE
  WHERE RES_TABLE.intpt > 0;

  IF (@@ERROR <> 0)
  BEGIN
   SET @BW_AREA_ID='000'
   SET @BW_AREA_NAME='ERROR'
  END
 
  INSERT INTO @ContainsData VALUES
   (@BW_AREA_ID, @BW_AREA_NAME)
  
  RETURN
END

    END$$

DELIMITER ;



No. Subject Author Date Views
9670 [초보] 스토어드프로시져 에서 스칼라변수 에러가 생겼는데 초보라 도통 모르겠습니다. [3] 마대자루 2016.12.22 2928
9669 분리자를 가지고 하나의 row를 여러 row 로 분리... [6] DOOLLY 2016.12.22 2859
9668 mssql 2005에서 DB가 잠깐 sleep되는 현상? [1] whatim1 2016.12.21 2366
9667 쿼리 결과를 XML 파일로 저장시 한줄로 나오는 문제.. [1] 바보쿠우 2016.12.20 2745
9666 1,2번째 항목이 같고 3항목만 틀릴때 1,2 중복제거와 3을 한행으로 [1] 초보초보촙 2016.12.20 1947
9665 Mysql Trigger 문의 드립니다. [1] 땅부터하늘까지 2016.12.19 2537
9664 Oracle query 질문하나만 하겠습니다 [1] apmgogo 2016.12.16 2244
9663 대용량 텍스트 파일을 mssql에 저장할때...? [1] 문상연 2016.12.16 3478
9662 특정한 테이블만 복구 여부 [1] 큘러 2016.12.16 3371
9661 조건에 없는 데이터 찾기 [2] DOOLLY 2016.12.16 3312
9660 테스트용으로 mssql 2000 64bit버젼이 필요한데... 구할방법이 있을까요? [1] 영우님 2016.12.15 2148
9659 MSSQL -> Oracle 분산 트랜잭션 설정 dunhill123 2016.12.14 6195
9658 간단한 나누기 질문드립니다. [2] hyuns00 2016.12.13 2452
9657 계정 관련 질문 드립니다. [1] Alias 2016.12.13 1879
9656 데이터 일별 백업.... [2] takeee 2016.12.13 2404
9655 xml replace 이유진_301818 2016.12.13 2288
9654 SHRINKDATABASE 관련 질문 입니다. 누구꺼? 2016.12.12 2655
9653 SQL Server Reporting services 의 정확한 역활?을 알수 있나요? 장성원_305526 2016.12.12 1856
9652 서버 수준의 URN 필터가 잘못 되었습니다 bios 2016.12.12 4490
9651 부모 - 자식 관계에 있는 컬럼에 대한 문의 잭키올 2016.12.11 2329





XE Login