Tôi không may mắn như những người đã đăng ở đây. Mã tôi làm việc với thường được viết bởi người khác và hiếm khi không có các câu lệnh CASE hoặc các phép tính khác, các phép nối hoặc logic gây ra một mục duy nhất để trải rộng trên một vài hàng của kịch bản lệnh T_SQL.
Sử dụng ký hiệu bằng nhau thay vì 'AS' sẽ dễ đọc hơn nhiều. Với một dấu bằng, bạn biết tên bí danh mà bạn đang tìm kiếm nằm ở vị trí đầu tiên của hàng. Khi 'AS' được sử dụng và T_SQL kéo dài nhiều dòng, tên bí danh có thể ở bất kỳ đâu.
Tìm kiếm bí danh 'Mục' càng xa, dễ dàng hơn khi sử dụng dấu bằng khi sử dụng 'AS'.
SELECT
ElementObligationID = @MaxElementObligationID + eo.ElementObligationID
, ElementID = eo.ElementID
, IsotopeID = eo.IsotopeID
, ObligationID = eo.ObligationID
, ElementWeight = eo.ElementWeight * -1
, FissileWeight = eo.FissileWeight * -1
, Items = CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END
, Comment = eo.Comment
, AdditionalComment = eo.AdditionalComment
, Aanmaak_userid = @UserID
, Aanmaak_tijdstip = GetDate()
, Laatste_wijziging_userid = @UserID
, Laatste_wijziging_tijdstip = GetDate()
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
Bây giờ hãy tưởng tượng có nhiều hơn 5 lần số lượng mã ở đây và cần tìm bí danh 'Mục'.
SELECT
@MaxElementObligationID + eo.ElementObligationID AS ElementObligationID
, eo.ElementID AS ElementID
, eo.IsotopeID AS IsotopeID
, eo.ObligationID AS ObligationID
, eo.ElementWeight * -1 AS ElementWeight
, eo.FissileWeight * -1 AS FissileWeight
, CASE WHEN eo.Items < 0 THEN eo.Items * -1
WHEN eo.Items > 0 THEN eo.Items
ELSE 0 END AS Items
, eo.Comment AS Comment
, eo.AdditionalComment AS AdditionalComment
, @UserID AS Aanmaak_userid
, GetDate() AS Aanmaak_tijdstip
, @UserID AS Laatste_wijziging_userid
, GetDate() AS Laatste_wijziging_tijdstip
FROM dbo.KTM_ElementObligation eo
INNER JOIN dbo.KTM_ElementObligationArticle eoa ON
eoa.ElementObligationID = eo.ElementObligationID
'AS' vs '=' không phải là tùy chọn cố ý và tùy ý. Tôi không phóng đại khi tôi nói đã có lần phải mất vài phút để tìm tên bí danh mà tôi đang tìm kiếm vì tác giả của tập lệnh mà tôi hiện đang phụ trách duy trì không sử dụng dấu bằng bằng bí danh của họ. Tôi không thể nghĩ ra một sự lãng phí thời gian, tiền bạc và tài nguyên lớn hơn việc trả tiền cho một chuyên gia CNTT để tìm kiếm các tên bí danh trong mã !! Có câu trả lời đúng và sai nếu bạn quan tâm đến khả năng bảo trì, khả năng đọc và hiệu quả. Công việc của bạn là cung cấp giá trị kinh doanh, không dành cả ngày để tìm kiếm Waldo!
Tôi nên xây dựng dựa trên động cơ của mình. Tôi tìm kiếm các cột bí danh trong các truy vấn dài và lồng nhau là phần dễ gây phiền toái nhất và có thể là lỗi trong việc duy trì các truy vấn. IMHO các hậu quả khác có thể xảy ra như phân biệt giữa một trong mệnh đề chọn so với và = trong mệnh đề where và những mệnh đề khác ít gây phiền toái cho tôi và tôi tự hỏi ý kiến của người khác là gì? – mwjackson
Bạn có phiếu bầu của tôi ... nhưng có vẻ như chúng tôi đã vượt quá số –
Nó sẽ xuất hiện như vậy. Tôi cho rằng điều quan trọng là có thể đọc được và dễ nhận biết, bất kỳ sở thích nào của mọi người ... – mwjackson