ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 완전초보 좌충 우돌 #2하나-3 FE에서 MSSQL 저장 프로시저 실행(3) 실행하기 확인해볼까요
    카테고리 없음 2020. 2. 10. 12:58

    안녕하세요. 앤디즘입니다.먼저 그림부터 보겠습니다. 아래 순서로 진행됩니다. 개요 > △△△△△△△△△△△△△△△△△△△△△△△△△△△△△


    >


    하나의 단 로컬에서 사용할 쿼리를 하면 준비한다.쿼리가 복잡하다는 전제하에 시작합니다.눈이 편해지도록 간단한 쿼리를 준비했습니다.쿼리 준비하는 것 -------------------


    >


    이 쿼리의 SQL은 다음과 같습니다.SELECT 테이블 하나.아이디 테이블 하나이름, 테이블 2. 직업 FROM테이블 2 INNER JOIN의 테이블 하나 ON테이블 2.ID=테이블 하나.ID: 자, 이걸 추가 쿼리로 해볼게요.​


    >


    선택 쿼리 상태에서 위에 추가! 버튼을 누르면 아래 쿼리가 달라집니다.INSERT INTO입니다.시 테이블(ID, 이름, 직업)SELECT테이블 일 ID테이블 날. 이름, 테이블 2. 직업 FROM테이블 2 INNER JOIN테이블의 ON테이블 2.ID=테이블.ID: 위에 한 줄 더 떴습니다. 일단 필요한 SQL은 준비가 끝났습니다.위의 임니다시 테이블은 자신이 사용하는 테이블의 이름입니다.일단 로컬로 만들어도 상관없지만 결국 연결테이블로 해서 사용하려는 의도입니다.이 테이블 만들기 부분이 석연치 않은 부분은 우왕좌왕#20을 참고하세요. 테이블 만들기 쿼리를 적용하여 만들고 추가 쿼리로 변형해 가는 비결도 있으므로 본인은 생략하고 SSMS로 테이블을 만드는 방법을 주로 설명합니다.SSMS로 테이블 만들기를 한다


    >


    위와 함께 SSMS를 실행하여 새로운 테이블을 발발합니다.(SSMS는 MSSQL 서버를 이용한다는 전제하에 서비스를 이용함과 동시에 이 로컬에서 서버를 운용하는 노하우가 있습니다. 카페에 많은 글이 있고 제 글에도 있으니 찾아보세요.) SSMS는 돈을 주고 사는 프로그램이 아닙니다. 검색해서 다운로드 하시면 됩니다.=== 위의 구문중에서 내가 필요한것은 === 위에서 가져온 SQL 코드 일부 === INCERTINTO 임시테이블 (ID, 이름, 직업 ==) === === === === ============, 직업이네요.테이블에 열의 이름, 데이터 형식, null 허용을 입력하고 테이블 이름을 임시 테이블로 저장한다.​


    >


    데이터 형식에 관해서.정수형은 INTDOUBLE은 FLOAT에서 사용하고 글자형은 nchar()에서 사용하지만 괄호안의 숫자는 최대 글자수 허용치입니다.대충 대충 대충 대충 알기만 하면 된다면 쓰실수 있습니다.


    >


    빨간 화살표 부분에 오른쪽을 클릭하면 아래와 같은 창이 나오고 화살표를 클릭하면


    >


    아래와 같은 창이 나쁘지 않고 테이블명을 입력하여 저장하십시오.


    >


    자, 지금 테이블이 작성되었어요.하나, 우리가 친숙한 MSACESS에서 접속 테이블을 읽어 들입시다.


    >


    ODBC가 먼저 연결되어 있어야 한다. 이 부분은 우왕좌왕#6회 글에 있습니다.https://cafe.naver.com/xpath/349하나 6​


    >


    호출된 것을 확인하고 -> 이름을 바꾸는 -> 이다시 테이블이라는 단어만 남기고 앞에 dbo_> 이 부분은 지웁니다.만약 가장 먼저 로컬 테이블을 만들면 기존 테이블을 덮어 쓸 수도 있습니다. 전혀 상관없으니 진행하시면 됩니다.SSMS로 저장 프로시저를 만든다는.......


    >


    화살표의 새 쿼리를 실행하면 쿼리를 실행할 수 있는 공간(노란 탭이 있는 SQL Query 하나).sql이 써있는 탭)이 본인입니다.1단 선택 쿼리 구문을 등록합니다.SELECT 테이블 하나.아이디 테이블 하나이름, 테이블 2. 직업 FROM테이블 2 INNER JOIN의 테이블 하나 ON테이블 2.ID=테이블 하나.ID : 자 실행을 눌러보겠습니다.예를 들면 본인의 이런 오류가 날 수도 있습니다. 최근에 SSMS를 시작한 분은 그럴지도 모릅니다. 연결테이블을 임시테이블만 가져왔으니까요. 테ー불하나그와테ー불 2번 연결되어 있어야 합니다.)


    >


    MACESS로 테이블을 ODBC로 전송하고 다시 가져오게 되면 서버에 있는 테이블을 가져옵니다.


    >


    임시테이블에서 했듯이 dbo_를 삭제하고 테이블명도 바꿔드리겠습니다.다시 한번 실행 버튼을 누르면 아래와 같은 결과가 나쁘지 않습니다.


    >


    인서트의 인툭문까지 넣어서 다시리와 함께 넣어봅시다.USE자신의 DB이름 GOCREATE PROC이다 시 ASBEGINININERT INTO이다 시 테이블(ID, 이름, 직업)SELECT테이블 일 ID테이블 날. 이름, 테이블 2. 직업 FROM테이블 2 INNER JOIN테이블의 ON테이블 2.ID=테이블.ID; END -------일) #일 실행을 누르면 번호가 없는 맨 아래의 화살표와 같이 쿼리가 실행되었다고 메세지가 본인이 옵니다. 이리하여 메시지 창에#2와 함께 명령이 완료됐다고 본인 오프 라이다.​ 2)이미 개체 탐색기 부분의 모든-에서 열린 부분을 닫고 이미 소라고+표시로 망도우루오쥬은다 소리#3 refresh버튼을 누르세요.​ 3)#4와 같은 경로에 dbo. 이다시가 발생한 것을 볼 수 있습니다.​ 위의 구문은 저장 프로시저를 발생하는 구문인,#4에 오른쪽 버튼을 클릭한 수정을 누르면 만들어진 SP(Stored Procedure)의 완성된 구문을 볼 수 있습니다.​


    >


    아래 그림을 보면 완성된 프로시저 구문을 봅니다. 나중에 수정할 때도 이렇게 찾아서 열면 붙여요.​


    >


    여기까지 보면서 한번 구별해야 되는 개념이 있습니다.프로시저를 만들었지만 프로시저를 실행하지는 않았다."사양 실행은 프로시저를 만드는 실행입니다.SSMS 에서 저장 프로시저를 실행하는 > ------ 사양 프로시저를 만드는 실행을 해야 합니다.새로운 쿼리를 누르고 열렸다. 새로운 질의 EXEC입니다.시를 치고, 새로운 질의아래 실행(X)이라는 버튼을 누릅니다.


    >


    하단에 이런 창문이 생겨요.


    >


    실행 결과 확인을 -----------MS ACESS로 돌아와 연결 테이블인 이다시 테이블을 더블 클릭 해 열어 봅니다.​


    >


    제대로 들어온걸 확인할 수 있어요.하지만 실행을 다시 한다면,


    >


    이런 식으로 쌓이도록 하겠습니다.제가 원하는건 이런게 아니에요.지금 당장 필요한 삭제 구문을 넣습니다.SSMS에 가서 방금 알려드린 저장 프로시저 자리에 가서 오른쪽 클릭으로 수정을 선택합니다.아래 그림을 보시면 BEGIN이라고 하는 부분에 빨간색 체크와 빨간색 체크가 있습니다.BEGIN 아래에 테이블을 지우는 구문을 넣습니다.DELETE FROM 임시 테이블 SELECT *FROM 임시 테이블


    >


    이렇게 넣고 실행을 누르니 하단의 메시지 창에 명령이 완료되었습니다.쿼리가 실행되었습니다.프로시저를 작성하면 화면과 같이 메시지가 나타납니다.저희는 최근에 프로시저를 완성했습니다. 최근에 다시 프로시저를 실행해 보겠습니다.새 쿼리를 열고 EXEC 임시를 입력하고 실행버튼을 누릅니다.MSACCESS로 돌아가서 임시 테이블을 확인하시면


    >


    모두 sound와 같이 중복되지 않고 들어온 sound를 확인할 수 있습니다. -----<액세스 VBA로 MS-SQL 서버의 프로시저 작동시키는 것> -------------------- 미리 써 둔 마지막 과정의 링크이다.https://cafe.naver.com/xpath/35599​의 보양에 가서 양식의 어디서나 붙여서 사용하면 됩니다. 저의 경우는 폼 로드 본인, 버튼을 클릭하여 보았습니다. 그동안의 과정에서 MSACCESS에서 MS-SQL서버에 저장 프로시저를 사용하는 방법을 보았습니다. 사실 고수들의 사용 방법은 여러가지가 있을 것이고, 내용도 다를 것. 다만 제가 자리를 끝까지 연재한 이유는 로컬과 네트워크를 컨트롤하고 싶어서, 자세히 알려서 들어 모아서 가르치고 주는 곳이 없었습니다. 정작 하고 보면 별것도 아닌데...대한민국에 접속 인구가 많지 않고 한국어로 설명이 없다고 생각합니다.많은 외국 사이트에서 검색 칠로 선택, 또 한명의 방대한 학습량이 필요했다. 그윙백 끈이 짧으니까....카페 회원 여러분께서 많은 경험을 통해 접속해 주시기 바랍니다.그만큼 많은 정보를 눈높이에 맞게 본인에게 전달해 주시기 바랍니다.매번 하는 이야기지만 제 자리는 항상 문을 여는 데 목적이 있어요.조수의 발단이 되어 더 큰 물이 들어오기를 기대하는 마음에 매우 기쁩니다.읽어주셔서 감사합니다.​​


    댓글

Designed by Tistory.