programing

mysql - IF 문 내에서 코드 블록을 실행하는 방법(프로시저에서는 실행하지 않음)

i4 2023. 8. 29. 20:09
반응형

mysql - IF 문 내에서 코드 블록을 실행하는 방법(프로시저에서는 실행하지 않음)

데이터베이스 버전을 추적하는 더 좋은 방법이 있다는 건 알지만, 논쟁을 위해서라면...어떻게 하면 이 방법을 쓸 수 있을까요?

저는 그냥 테이블을 원합니다.db_version열이 있는v01,v02기타...그리고 특정한 경우에만 코드 블록을 실행하도록 합니다.vXX존재하지 않습니다.

예:

IF NOT EXIST ( 
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS
       WHERE TABLE_NAME='db_version' AND column_name='v05'
 ) THEN
      ALTER TABLE ... 
      ALTER TABLE ...
      ALTER TABLE ADD INDEX ...
      ALTER TABLE db_version ADD column v05 int;  /* now this block wont be run next time */
 END IF;

이것이 가능합니까?온라인에서 볼 수 있는 모든 예제는 절차 내에서 실행되는 것입니다.일반 sql 스크립트에서 어떻게 이것을 그냥 실행할 수 있습니까?mysql -p < db_version.sql)

언급URL : https://stackoverflow.com/questions/25125114/mysql-how-to-execute-block-of-code-within-an-if-statement-but-not-in-a-proced

반응형