Phiên bản ngắn: Có cách nào để biên dịch các đoạn mã TSQL có điều kiện trong Dự án Dữ liệu Máy chủ SQL bằng Công cụ Dữ liệu Máy chủ SQL cho Visual Studio 2010 không?
Tôi đang sử dụng Công cụ dữ liệu SQL Server trong Visual Studio 2010 để làm việc trên cơ sở dữ liệu SQL Server Express thử nghiệm. Điểm đến cuối cùng nếu mọi thứ hoạt động tốt sẽ là một nền tảng SQL Server dành cho doanh nghiệp. Tôi có cả phiên bản 2008 trên một hộp và phiên bản 2012 trên một hộp khác, bởi vì công ty của tôi đang trong quá trình di chuyển từ 2008 đến 2012 cho nhiều cơ sở dữ liệu doanh nghiệp.
Trong các ngôn ngữ lập trình khác mà tôi đã sử dụng, các chỉ thị tiền xử lý giúp dễ dàng biên dịch các phần của một cơ sở mã. Việc sử dụng phổ biến nhất cho việc này là có mã khác nhau cho các nền tảng khác nhau trong các phần bị hạn chế hoặc loại trừ mã đầu ra gỡ lỗi khỏi các bản dựng phát hành .
Cả hai điều này có thể rất hữu ích trong một số thủ tục cửa hàng tôi đang làm việc. Có bất cứ điều gì như thế này có sẵn? Tôi biết tôi có thể sử dụng sqlcmd
các biến để trao đổi các giá trị cụ thể trong quá trình triển khai, nhưng tôi không thể tìm ra cách sử dụng biến đó để bao gồm hoặc loại trừ các đoạn mã tiếp theo.
Thí dụ:
#IF $(DebugVersion) = 'True'
-- A bunch of useful PRINTs and what not
#ELSE
SET NOCOUNT ON
#ENDIF
#IF $(SSVersion) = '2012'
SET @pretty_date = FORMAT(@some_date, 'dddd, MMM dd, yyyy')
#ELSE
SET @pretty_date = CAST(@some_date AS nvarchar(12))
#ENDIF