안녕하세요, Countires, States, Cities의 HTML 드롭 다운이있는 간단한 양식을 개발 중입니다. 국가, 주, 도시를 추가하고 업데이트하면 문제가 없습니다. 모든 것이 완벽하게 작동합니다. 그리고 문제는 삭제할 때 여기에옵니다 (비활성화라고합시다).국가 별 SqL 디자인 - 국가 - 도시
저는 인터넷에서 일부 사이트를 참조하여 국가, 주, 도시 드롭 다운 유형에 이상적인 표를 디자인했습니다. 마찬가지로 :
Countries Table:
|SerialNo|CountryName|CountryId|Active|
States Table
|SerialNo|StateName|StateId|CountryId|Active|
CitiesTable:
|SerialNo|CityName|CityId|StateId|IsActive|
그래서 어떤 나라를 비활성화시 전, "거짓"= 활성 이렇게 비활성화 된 나라 내 그리드에 표시하지 않을 만들고있다. 이와 같은 경우 각국이 보유하고있는 국가는 또한 권리를 잃게됩니다. SQL 쿼리 :
그래서 나는이 같은 한 두 tables.But에서
내가 나라 비활성화 할 수있는 두 테이블에 CountryId 것처럼
Update CountriesTable set Active='false' where CountryId= @CountryId
Update StatesTable set Active='false' where CountryId= @CountryId
, 미국은 어떻게 비활성화 국가의 도시를 비활성화 할 수 ?? 특정 테이블에서 데이터를 조작 한 후에 다른 테이블을 업데이트하는 Triggers in Sql이라는 개념이 있습니다. 트리거를 사용하여 요구 사항을 충족시킬 수 있습니까? 아니면이를 수행하기위한 좋은 방법이 있습니까?
어떻게해야합니까?
citiestable에 CountryId 열을 하나 더 추가하고 싶지 않습니다. 죄송합니다. 나는 당신 모두에게 분명하다! 모든 참조, 모든 SQL 쿼리, 어떤 도움을 많이 주셔서 감사합니다!
모든 국가에 주정부가있는 것은 아닙니다 (또는 적어도 국가와 도시 간의 영토 구분이 항상 주라고 부름되는 것은 아님). 어떤 DBMS를 사용하고 있는지 표시해야합니다 (비록 내가 MS SQL Server인지, 어느 버전이 중요한지, 특히 옛날 식인 경우). 그리고 예, 국가의 상태를 업데이트하여 주 및 도시로 전파하려면 트리거를 사용하십시오.그러나 트리거는 IsActive = 'true'로 설정해야합니다. 당신이 그렇게한다면 방아쇠가 거짓을 설정하는 것을 원하지 않을 것입니다. –
엔티티에 대한 ISO 정보 (존재하는 경우) (예 : [국가 코드] (http://en.wikipedia.org/wiki/ISO_3166-1))를 포함하려고합니다. 주 (국가 세분) 및 도시에 대한 동일한 정보가있을 수 있습니다. –