나는 SqlServer 2005를 사용하고 있습니다. 날짜를 업데이트하는 속성 (기본값과 같지만 모든 변경 내용은 삽입하지 않고)을 설정하고 싶습니다. 즉, 모든 업데이트 및 삽입시 현재 날짜가 열에 배치됩니다. 이것이 어떻게 이루어질 것인가?업데이트 날짜, 변경 날짜
답변
의 당신이 A
테이블이 있다고 가정하자
CREATE TRIGGER INSTEAD_OF_A_INSERT
ON A
INSTEAD OF INSERT AS
BEGIN
INSERT INTO A (ID, Name, SomeDate)
SELECT ID, Name, GETDATE()
FROM inserted
END
GO
CREATE TRIGGER INSTEAD_OF_A_UPDATE
ON A
INSTEAD OF UPDATE AS
BEGIN
UPDATE A
SET SomeDate = GETDATE(),
Name = I.Name
FROM A A1 JOIN INSERTED I ON A1.ID = I.ID
END
GO
당신이 여기
INSERT INTO A (ID, Name)
VALUES(1, 'John');
INSERT INTO A (ID, Name)
VALUES(2, 'Jack');
UPDATE A
SET Name = 'Jane'
SELECT *
FROM A
를 원하는 것을 줄 것이다 당신을 수 fiddle입니다 플레이.
감사합니다. 나는 방아쇠에 조금을 읽었다. 이것은 업데이트/값 직접 삽입 이외의 다른 방법으로 수행 할 수 있습니까? 최선의 옵션을 찾으려고하는데 트리거가 표준 인 것처럼 보입니다. – steventnorris
DB 서버 수준에서 수행하려는 경우 이것이 내가 아는 유일한 방법입니다. – ShyJ
@steventnorris 저장 프로 시저를 통해 데이터 액세스를 제어 할 수 있으면 사용 권한을 올바르게 설정하고 해당 절차를 무시할 수있는 사람을 제어 할 경우 * 필연적으로 트리거가 필요하지 않습니다. 그러나 ad hoc DML을 허용하면 yes입니다 (ad hoc DML을 허용해야하는지 여부는 고려해야 함). –
이 작업을 수행하는 가장 쉬운 방법은 트리거를 사용하는 것입니다.
MSDN을 참조하십시오.
정확한 요구 사항에 따라 작업을 수행 할 수있는 AFTER INSERT,UPDATE
또는 INSTEAD OF INSERT,UPDATE
중 하나를 사용할 수 있습니다.
CREATE TABLE A (
ID INT,
Name VARCHAR(20),
SomeDate DATE NULL)
만들 수있는 트리거 :
- 1. 월/연도 변경 날짜 필드 업데이트 - 기일 날짜 선택자
- 2. 업데이트 날짜
- 3. Jquery 날짜 변경, 다른 날짜 변경
- 4. 파일 변경 날짜 변경
- 5. 아이폰 날짜 필드 - 변경 날짜 형식
- 6. 날짜 선택기로 응용 프로그램 날짜 변경 - xcode
- 7. SQLite 업데이트 날짜 SQL
- 8. mySql에서 날짜 업데이트
- 9. dll의 최신 업데이트 날짜
- 10. PHP의 날짜 언어 변경
- 11. JQuery와 PHP 날짜 변경
- 12. 날짜 변경 형식
- 13. C에서 날짜 형식 변경
- 14. 변경 날짜 형식
- 15. 정규식 : 날짜 형식 변경
- 16. 게시물 요청 날짜 변경
- 17. WordPress의 날짜 변경
- 18. PHP - 날짜 형식 변경
- 19. Trello.NET의 날짜 형식 변경
- 20. 시스템 날짜 변경
- 21. calenderextender 기본 날짜 변경
- 22. MySql의 날짜 형식 변경
- 23. PHP로 날짜 형식 변경
- 24. 시간/날짜 변경 리스너
- 25. 디렉토리 시간/날짜 변경
- 26. 날짜 형식으로 변경 하시겠습니까?
- 27. monthCalendar의 날짜 색상 변경
- 28. Flex에서 날짜 변경 모니터링
- 29. Android 변경 언어 날짜
- 30. Vb.net 현재 날짜 - 날짜
각 행의 날짜 또는 하나의 단일 날짜가 어딘가에 있습니까? –
Google "trigger" – texasbruce
아마도 [대신 TRIGGER] (http://msdn.microsoft.com/en-us/library/ms189799(v=sql.90) .aspx)를 찾고있을 것입니다. – ShyJ