programing

.sql 스크립트 내의 MYSQL 클라이언트에서 전달된 -D 매개 변수 값 사용

skycolor 2023. 9. 4. 19:40
반응형

.sql 스크립트 내의 MYSQL 클라이언트에서 전달된 -D 매개 변수 값 사용

test.sql 파일을 실행하기 위해 아래 명령을 실행하고 있습니다.

"C:\Program Files\MariaDB 10.3\bin\mysql" -uroot -p -h localhost -P 3306 -d DB1 < C:\Users\ashishsachdeva\Desktop\test.sql

DB1 스키마를 작성하기

"C:\Program Files\MariaDB 10.3\bin\mysql" -uroot -p -h localhost -P 3306 -d DB2 < C:\Users\ashishsachdeva\Desktop\test.sql

DB2 스키마 작성용

아래의 .sql 파일 내에서 명령이 여러 번 반복됩니다.

IF NOT EXISTS( SELECT NULL
                 FROM information_schema.statistics
                WHERE table_schema = '@@DB1@@' 
                  AND index_name='idx_test' 
                  AND table_name='test')  THEN
ALTER TABLE test ADD CONSTRAINT idx_test UNIQUE
(
    id
);

로컬 변수 say l_schema에 -d 매개 변수 값을 할당하여 @DB1@@@ 대신 위 sql에서 비교에 사용하고자 합니다.이렇게 하면 @DB1@@와 @DB2@를 설정하는 데 동일한 스크립트를 사용할 수 있습니다.

변수 대신 SQL에서 DATABASE() 함수를 사용합니다.

언급URL : https://stackoverflow.com/questions/54662088/use-the-value-of-d-parameter-passed-from-mysql-client-inside-the-sql-script

반응형