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

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

안녕하세요 초보 개발자 입니다.

sp_executesql 관련하여 문의 드리고자 합니다..

기존에 Mybatis에 정의된 UPDATE 쿼리문을 프로시저로 옮겨보고 있습니다.

성능향상 및 속도개선 등의 이유로 자주 사용하는 쿼리문이라 EXEC 대신 sp_executesql을 사용해보려 합니다.

sp_executesql 사용 및 작성방법을 찾아 다음과 같이 프로시저를 작성해보았습니다.

java에서 해당 프로시저 호출 시 error도 발생하지 않고 update도 진행하지 않은채 그대로 넘어가버리네요 ㅠㅠ...

다음은 작성해본 프로시저 입니다.

고수님들의 조언 부탁 드립니다..

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


ALTER PROCEDURE dbo.NEWUPDATEARROWCOUNTBYDISTANCE

@udtId VARCHAR(10) = NULL,

@scorerAgree VARCHAR(10) = NULL,

@e1P VARCHAR(10) = NULL,

@e2P VARCHAR(10) = NULL,

@e3P VARCHAR(10) = NULL,

@e4P VARCHAR(10) = NULL,

@e5P VARCHAR(10) = NULL,

@e6P VARCHAR(10) = NULL,

@e1A VARCHAR(20) = NULL,

@e2A VARCHAR(20) = NULL,

@e3A VARCHAR(20) = NULL,

@e4A VARCHAR(20) = NULL,

@e5A VARCHAR(20) = NULL,

@e6A VARCHAR(20) = NULL,

@point VARCHAR(10) = NULL,

@eHit VARCHAR(10) = NULL,

@e10 VARCHAR(10) = NULL,

@eX VARCHAR(10) = NULL,

@gmId VARCHAR(10) = NULL,

@gmYear VARCHAR(10) = NULL,

@gmSex VARCHAR(10) = NULL,

@gmMth VARCHAR(10) = NULL,

@gmKind VARCHAR(10) = NULL,

@adNo VARCHAR(10) = NULL,

@gmDis VARCHAR(10) = NULL


AS

BEGIN

DECLARE @SQLString NVARCHAR(MAX)

DECLARE @ParmDefinition NVARCHAR(3000)


DECLARE @v_udtId VARCHAR(10) = @udtId

DECLARE @v_scorerAgree VARCHAR(10) = @scorerAgree

DECLARE @v_e1P VARCHAR(10) = @e1P

DECLARE @v_e2P VARCHAR(10) = @e2P

DECLARE @v_e3P VARCHAR(10) = @e3P

DECLARE @v_e4P VARCHAR(10) = @e4P

DECLARE @v_e5P VARCHAR(10) = @e5P

DECLARE @v_e6P VARCHAR(10) = @e6P

DECLARE @v_e1A VARCHAR(20) = @e1A

DECLARE @v_e2A VARCHAR(20) = @e2A

DECLARE @v_e3A VARCHAR(20) = @e3A

DECLARE @v_e4A VARCHAR(20) = @e4A

DECLARE @v_e5A VARCHAR(20) = @e5A

DECLARE @v_e6A VARCHAR(20) = @e6A

DECLARE @v_point VARCHAR(10) = @point

DECLARE @v_eHit VARCHAR(10) = @eHit

DECLARE @v_e10 VARCHAR(10) = @e10

DECLARE @v_eX VARCHAR(10) = @eX

DECLARE @v_gmId VARCHAR(10) = @gmId

DECLARE @v_gmYear VARCHAR(10) = @gmYear

DECLARE @v_gmSex VARCHAR(10) = @gmSex

DECLARE @v_gmMth VARCHAR(10) = @gmMth

DECLARE @v_gmKind VARCHAR(10) = @gmKind

DECLARE @v_adNo VARCHAR(10) = @adNo

DECLARE @v_gmDis VARCHAR(10) = @gmDis


SET NOCOUNT ON;

SET TRANSACTION ISOLATION LEVEL READ COMMITTED

SET @SQLString = 

N'UPDATE GINDQUAM 

   SET UDT_ID = @v_udtId

     , UDT_DT = CONVERT(VARCHAR(20), GETDATE(),110)

, SCORER_AGREE_YN = @v_scorerAgree

, E1_P = @v_e1P

, E2_P = @v_e2P

, E3_P = @v_e3P

, E4_P = @v_e4P

, E5_P = @v_e5P

, E6_P = @v_e6P

, E1_A = @v_e1A

, E2_A = @v_e2A

, E3_A = @v_e3A

, E4_A = @v_e4A

, E5_A = @v_e5A

, E6_A = @v_e6A

     , POINT = @v_point

, E_HIT = @v_eHit

, E_10 = @v_e10

, E_X = @v_eX

 WHERE GM_ID = @v_gmId

   AND GM_YEAR = @v_gmYear

   AND GM_SEX = @v_gmSex

   AND GM_MTH = @v_gmMth

   AND GM_KIND = @v_gmKind

   AND GM_DIS = @v_gmDis

   AND AD_NO = @v_adNo;';


   SET @ParmDefinition = N'@v_udtId nvarchar, @v_scorerAgree nvarchar, 

@v_e1P nvarchar, @v_e2P nvarchar, @v_e3P nvarchar, @v_e4P nvarchar, @v_e5P nvarchar,

@v_e6P nvarchar, @v_e1A nvarchar, @v_e2A nvarchar, @v_e3A nvarchar, @v_e4A nvarchar,

@v_e5A nvarchar, @v_e6A nvarchar, @v_point nvarchar, @v_eHit nvarchar, @v_e10 nvarchar,

@v_eX nvarchar, @v_gmId nvarchar, @v_gmYear nvarchar, @v_gmSex nvarchar, @v_gmMth nvarchar,

@v_gmKind nvarchar, @v_gmDis nvarchar, @v_adNo nvarchar';

EXEC sp_executesql @SQLString, @ParmDefinition, @v_udtId, @v_scorerAgree, 

@v_e1P, @v_e2P, @v_e3P, @v_e4P, @v_e5P, @v_e6P, @v_e1A, @v_e2A, @v_e3A, @v_e4A, @v_e5A, @v_e6A

,@v_point, @v_eHit, @v_e10, @v_eX, @v_gmId, @v_gmYear, @v_gmSex, @v_gmMth,

@v_gmKind, @v_gmDis, @v_adNo;


END


No. Subject Author Date Views
10423 통계 쿼리 질문요 [1] zofarnim 2019.01.12 835
10422 데이터 누계 질문 [5] swimtor 2019.01.12 727
10421 AWS RDS에 DB이전 embster 2019.01.10 571
10420 테이블 반환 함수 동적쿼리 방법 문의 드립니다. [2] 난나야78 2019.01.10 1436
10419 쿼리 질문드립니다. [3] 아잉옹 2019.01.09 690
10418 mssql2017 구성관리자질문 [2] 마술 2019.01.09 862
10417 PK, FK 를 설정하지 않는다면? [2] 이유진_301818 2019.01.09 692
10416 각각 컬럼마다 해당값을 가지고 있는 것들의 갯수를 뽑아내고 싶은데 [1] 카루카루 2019.01.08 639
10415 ▶ SQL 초보 쿼리 질문드립니다 [1] ㅇBGT051 2019.01.08 785
10414 특정테이블이 들어간 sp모두 조회하는 방법이 궁금합니다. [4] 아싸라비아콜롬비아 2019.01.07 770
10413 table 반환 함수 파라미터 유효성 확인 문의 [7] 난나야78 2019.01.04 641
» 저장 프로시저에서 sp_executesql 관련 문의 드립니다. [1] 로티보이 2019.01.03 675
10411 프로시저 내 세미콜론 관련 문의 드립니다. [3] 김삐씨 2019.01.03 827
10410 OLEDB 연결문제 문의드립니다. [2] 나방 2019.01.02 646
10409 쿼리 질문좀 드리겠습니다. [1] 마이스타 2018.12.30 571
10408 컬럼값 비교 삽입 [5] 배움자세 2018.12.29 628
10407 union 뭐가 문제인지요..? [1] 슈토파이터 2018.12.28 800
10406 특정 컬럼에 특수문자가 들어간거만 찾는 방법이 있을까요? [1] neiyan 2018.12.28 595
10405 sql 초보 질문요 [1] YHS 2018.12.27 713
10404 mssql 행이 null이면 다음 값 조회 [2] 전람회 2018.12.27 825





XE Login