반응형
반응형

옛 이집트 파라오들은
새벽이면, 신전에 들어가
의례를 갖는 것으로 하루를 시작했다.
신으로부터 사명을 부여받고 힘을 얻었다.
군주들은 새벽에 자신을 혁명하였다. 한 인간으로서
존엄을 자각하고 살아가는 사명을 되새기며
힘을 얻고 새로운 혁명을 도모하는 시간을
새벽마다 오롯이 가졌다.


- 신영길의《기억의 숲을 거닐다》중에서 -


* 새벽을 맞았다는 것은
그날 하루도 새 생명을 얻었음을 뜻합니다.
새벽마다 혁명한다는 것은 매일매일 새로운 삶을
시작한다는 뜻입니다. 그것은 자신의 존엄을 날마다
자각하는 일에서 출발합니다. 자기 존엄을 잃으면
자기 혁명도 물거품이 되고, 하늘이 준 사명도
빛을 잃습니다. 자기 존엄은 스스로 깨닫고
스스로 지키는 것입니다.

반응형

'아침편지' 카테고리의 다른 글

두려움의 마귀  (0) 2023.07.24
장맛비  (0) 2023.07.22
흥미진진한 이야기  (0) 2023.07.20
괜찮은 어른  (0) 2023.07.19
영혼의 약속  (0) 2023.07.18
반응형

https://medium.com/@Schwarzenegger/dont-look-back-1355725d01a

몇몇 사람들이 "50년 전에는 상황이 더 좋았다"고 말한 130년 이상 된 신문 스크랩 모음을 저에게 보냈습니다.

 

적어도 1890년까지는 사람들이 매 10년마다 이렇게 말하는 것으로 나타났습니다. 여기서 무슨 일이 일어나고 있나요? 왜 사람들은 항상 50년 전의 삶이 더 좋았다고 생각할까요?

나에게는 이론이 있다.

미래에 대한 비전이 없으면 뒤를 돌아보기 쉽습니다.

비전이 없을 때 오늘은 별 의미가 없습니다. 지금 하고 있는 일을 왜 여기에서 하는지 모르기 때문입니다. 내일은 정말 무섭습니다. 어제는 상대적으로 좋고 편안해 보일 수 있습니다.

이것이 제가 계속해서 여러분에게 비전을 찾으라고 말하려는 이유입니다. 나는 당신이 과거에 아무것도 성취할 수 없고, 과거의 누구와도 시간을 보낼 수 없으며, 확실히 행복을 찾을 수 없기 때문에 과거를 되돌아보는 사람들 중 하나가 되기를 원하지 않습니다. 과거에.

비전은 당신이 무엇을 하든지 여기에 있어야 할 이유를 제공합니다. 매일 일어나서 계속 앞으로 나아가는 것을 신나게 만듭니다. 삶의 의미를 부여합니다.

귀하의 비전은 귀하가 될 수 있는 최고의 교사, 간호사, 의사, 소방관 또는 전기 기술자가 되는 것입니다. 최고의 아빠, 엄마, 조부모가 될 수 있습니다. 가능한 한 오랫동안 가족을 위해 그곳에 있을 수 있도록 신체적으로 건강해질 수 있습니다. 그 모든 것이 될 수 있습니다.

중요한 것은 그것에 대해 생각하고 식별하고 보는 것입니다. 오늘 시간을 내어 몇 분 동안 앉아서 당신의 비전이 무엇인지 알아낸 다음, 당신이 꿈꾸는 것이 무엇이든 그것을 하고 있는 자신을 시각화하십시오. 머릿속에서 영화처럼 재생하십시오.

나는 영화가 50년 전에 어떤 일이 일어났던 것보다 낫다는 것을 당신에게 장담합니다.

반응형
반응형

우선순위 결정에는 몇 가지 중요한 원칙이 있다.
그 원칙들은 모두 분석이 아닌 용기와 관련된 것들이다.
첫째, 과거가 아닌 미래를 선택할 것,
둘째, 문제가 아니라 기회에 초점을 맞출 것,
셋째, 평범한 것이 아닌 독자성을 가질 것,
넷째, 무난하며 쉬운 것이 아니라 변혁을 가져다주는 것이 그것이다.
- 피터 드러커, ‘결과를 위한 경영’에서


이겨본 사람들이 잘 이기는 것처럼 성과창출도 일종의 습관입니다.
한번 성과를 낸 사람은 이후에도 계속 잘 하는 반면,
초기에 성과를 내지 못하면 오랫동안
저성과 조직(혹은 사람)으로 남아 있을 가능성이 큽니다.

고성과 조직과 개인은 뭔가 특별한 원칙들을 가지고 있습니다.
‘문제가 아닌 기회에 초점을 맞춘다’와 같은
드러커 원칙은 잘 새길 필요가 있습니다.

반응형
반응형

나는
어떤 이야기도
그럴듯하게 만들 수 있다. 정말이지
허접한 이야기도 흥미진진하게 바꿀 수 있다.
그런데 각색을 한다고 모든 이야기가 훌륭해지지는
않는다. 가장 훌륭한 이야기는 실화다. 불필요한
부분들만 깔끔하게 정리하면 누구든
이야기를 잘할 수 있다.


- 숀다 라임스의《1년만 나를 사랑하기로 결심했다》중에서 -


* 작가는
이야기를 만드는 사람입니다.
많은 사람들이 허접하다고 생각하는
바로 그 지점에서 보석을 발견하는 것이 작가입니다.
사람은 누구나 자기만의 이야기가 있습니다.
그 이야기는 자기가 직접 경험한 실화에서
시작됩니다. 그 실화를 앞뒤로 배열하고
흥미진진한 상상을 더하면 멋진
이야기가 탄생합니다.

반응형

'아침편지' 카테고리의 다른 글

장맛비  (0) 2023.07.22
자기 존엄  (0) 2023.07.21
괜찮은 어른  (0) 2023.07.19
영혼의 약속  (0) 2023.07.18
우주심(宇宙心)과 에고(Ego)  (0) 2023.07.17
반응형
--1. 일반적인 방법
UPDATE [TABLE_1]
   SET COL1 = SUB_COL1
     , COL2 = SUB_COL2
     , COL3 = SUB_COL3
 FROM
 (
     SELECT SUB_COL1
	      , SUB_COL2
		  , SUB_COL3
		  , USER_NUM
       FROM [TABLE_2]
      WHERE [조건...]
 ) SUB1
WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM


--2. CTE 를 사용한 방법
WITH CTE_TABLE AS
(
    SELECT SUB_COL1, SUB_COL2, SUB_COL3, USER_NUM
      FROM [TABLE_2]
     WHERE [조건...]
)
UPDATE [TABLE_1]
   SET COL1 = SUB_COL1
     , COL2 = SUB_COL2
     , COL3 = SUB_COL3
  FROM CTE_TABLE SUB1
 WHERE [TABLE_1].USER_NUM = SUB1.USER_NUM
-- 1. 먼저 현재값과 update해야할 값을 조회해본다.
select a.컬럼1, b.컬럼1
        ,a.컬럼2, b.컬럼2
        ,a.컬럼3, b.컬럼3
        ,a.컬럼4, b.컬럼4
 FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
 where a.컬럼 = 조건


-- 2. ,을 =로 바꾸주고 바로 update 해준다.
update a set a.컬럼1 = b.컬럼1
                 ,a.컬럼2 = b.컬럼2
                 ,a.컬럼3 = b.컬럼3
                 ,a.컬럼4 = b.컬럼4
FROM 테이블1 a inner join 테이블2 b on a.컬럼1 =b.컬럼2 and a.컬럼1_1=b.컬럼2_2
where a.컬럼 = 조건
반응형

'프로그래밍 > DataBase' 카테고리의 다른 글

[MSSQL] 초를 시분초로 변환  (0) 2023.08.08
[MSSQL] PIVOT, UNPIVOT , 행과 열 변환  (0) 2023.08.04
[MS-SQL] Begin Tran  (0) 2023.07.19
[MSSQL] 랜덤 (무작위) Select  (0) 2023.07.18
[MSSQL] IF…ELSE IF…ELSE  (0) 2023.07.14
반응형

MS-SQL은 기본 설정이 AUTO_COMMIT으로 되어있습니다.

INSERT, UPDATE, DELETE 등 명령어를 사용할 때 COMMIT 명령어를 입력할 필요가 없습니다.

그렇기 때문에 UPDATE, DELETE 쿼리 수행 중 실수를 하게 된다면... 지옥을 경험할 수도 있습니다.. ㅠㅠ

 

예를 들어서 MEMBER라는 테이블이 있다고 가정하겠습니다. 멤버 테이블의 회원 삭제는 이력을 남기기 위해서 소프트 delete처리를 합니다. 이런일이 생기면 안되겠지만, 쿼리를 사용하여 회원을 삭제한다고 가정하겠습니다. 

UPDATE MEMBER
SET DELETED = 1
WHERE MEMBER_SEQ = 1;

 

위와 같이 정상적으로 작성하면 좋겠지만, 우리는 사람이라 가끔 실수를 하곤 합니다.

UPDATE MEMBER
SET DELETED = 1;
WHERE MEMBER_SEQ = 1;

뭐가 잘못됐는지 확인이 되시나요??

생각만해도 지옥문에 들어가기 전이네요...

쿼리는 진짜 아무리 숙련된 사람이라도 실수할 수 있기 때문에 조심해야 한다고 생각합니다.

 

이럴 때 MS-SQL에서는 BEGIN TRAN이라는 명령어를 제공합니다.

BEGIN TRAN
UPDATE MEMBER
SET DELETED = 1
WHERE MEMBER_SEQ = 1;

이렇게 사용하고

SELECT * FROM MEMBER
WHERE MEMBER_SEQ = 1;

 

위와 같이 검증 쿼리로 확인하여,

정상이라면 COMMIT TRAN; 으로  내용을 반영해주면 됩니다.

 

반대로 잘못 반영되었을 땐

ROLLBACK TRAN;으로 트렉젝션을 롤백하면 됩니다.

 

BEGIN TRAN을 사용하고는 꼭! COMMIT TRAN 이나 ROLLBACK TRAN을 사용해줘야 합니다.

만약 잊고, 사용하지 않았다면.. TRANSACTION이 계속 잡혀 있는 상태여서 DB가 정상 동작하지 않습니다. 

검증하는 시간도 그만큼 길면 안되겠지요.

반응형

+ Recent posts