2017-06-02 18 views
5

Tôi có cơ sở dữ liệu SQL Server 2016 với các bảng thời gian. Một bảng thời gian được gọi là Công ty. Tôi đang cố gắng truy vấn nó để có được hồ sơ hiện tại và tất cả hồ sơ lịch sử. đầu tiên tôi thử các truy vấn sau đây:Tại sao FOR khoản không hoạt động với một bí danh trong SQL Server 2016 với bảng thời gian?

select * 
from Company c 
FOR SYSTEM_TIME all 

và đã nhận lỗi sau: cú pháp sai gần 'CHO'.

Tuy nhiên, nếu tôi thử nó mà không có bí danh nó hoạt động tốt:

select * 
from Company 
FOR SYSTEM_TIME all 

tôi không thể tìm thấy bất kỳ tài liệu về this- là nó một hạn chế hợp pháp, một vấn đề được biết đến, hay cái gì khác?

+1

bạn đã thử nó với một AS? Thông thường SQL Server ngụ ý điều này và nó là tùy chọn nhưng tôi tự hỏi nếu nó phải được rõ ràng ở đây. – scsimon

+0

Đã thử với AS, với cùng một kết quả. – jsakowitz

+0

Dường như là giới hạn - Nhưng bạn có thể sử dụng CTE: ..... WITH _data AS {SELECT * FROM cho SYSTEM_TIME tất cả} SELECT * FROM _data AS d. - xem tại đây https://stackoverflow.com/a/45144816/495157 – JGFMK

Trả lời

4

này làm việc cho tôi

select * 
from Company FOR SYSTEM_TIME all c 
Các vấn đề liên quan