Tôi đang cố gắng hiểu cách tôi có thể sử dụng bí danh để tham chiếu cơ sở dữ liệu khác trong cùng một trường hợp, mà không phải sử dụng tên mã cứng.Bí danh cơ sở dữ liệu chéo của SQL Server
Kịch bản như sau:
Tôi có db dữ liệu với dữ liệu lưu trữ, một db kiểm tra giữ mọi thay đổi được thực hiện. vì nhiều lý do khác nhau, tôi muốn giữ dữ liệu kiểm toán trong một cơ sở dữ liệu riêng biệt, ít nhất vì nó có thể khá lớn và cho mục đích báo cáo. Trong db dữ liệu, tôi không muốn tham chiếu điều này bằng tên mã hóa cứng nhưng một bí danh để trong các môi trường khác nhau, tôi không phải thay đổi tên và các sp khác nhau để tham chiếu đến tên mới.
ví dụ:
mydevdata
mydevaudit
Nếu một sp tồn tại trong mydevdata
như trong đó kêu gọi các mydevaudit
, tôi không muốn thay đổi sp khi tôi đi đến kiểm tra nơi của db có thể được gọi mytestdata
và mytestaudit
. Một lần nữa, vì nhiều lý do, tên cơ sở dữ liệu có thể thay đổi, nhiều việc phải làm với các không gian một trường hợp, vv
Vì vậy, nếu tôi có thủ tục trong mydevdata
:
proc A
begin
insert into mydevaudit.table.abc(somecol)
select 1
end
khi tôi đi để kiểm tra, tôi không muốn được thay đổi các thủ tục để tham khảo một tên khác, (giả định vì lợi ích của lập luận cho rằng đã xảy ra)
thay vào đó tôi tìm cách để làm điều gì đó như:
proc A
begin
insert into AUDITEBALIAS.table.abc(somecol)
select 1
end
tôi quan tâm đến việc tìm ra cách tôi có thể làm điều gì đó như thế, và sự ủng hộ và chống đối.
Ngoài ra, SQL từ tính không phải là một tùy chọn.
cảm ơn trước sự giúp đỡ của bạn.
xin vui lòng bạn có thể giải thích tại sao "SQL dymnamic không phải là một lựa chọn" – Seph