Lỗi TRY CATCH trong MSSQL

Tui có tạo một VIEW như dưới đây:

CREATE	VIEW	VIEW_TOP10LIKE_NHATRO
AS
BEGIN TRY
	SELECT	REPLACE(CONVERT(VARCHAR(20),NT.DIENTICH), '.', ',')+' '+'m2'							AS N'Diện tích',
			REPLACE(REPLACE(CONVERT(varchar(20),CAST(NT.GIAPHONG AS MONEY),1),'.00',''),',','.')	AS N'Giá phòng',
			NT.MOTA																					AS N'Mô tả',
			CONVERT(VARCHAR(10),NT.NGAYDANG,105)													AS N'Ngày đăng tin',		
			REPLACE(REPLACE(ND.GIOITINH, 'F', 'C.'), 'M', 'A.')+' '+ND.TENND						AS N'Người liên hệ',
			ND.DIACHI																				AS N'Địa chỉ',
			ND.DIENTHOAI																			AS N'Điện thoại',
			ND.EMAIL																				AS N'Email'
	FROM	NHATRO NT
	JOIN	NGUOIDUNG ND 
	  ON	NT.NGUOILIENHE = ND.MAND
	JOIN	(SELECT	TOP 10 MANT
			FROM	DANHGIA
			WHERE	TRANGTHAIDG LIKE 'True'
			GROUP	BY MANT
			ORDER	BY	COUNT(TRANGTHAIDG)	DESC) DG
	  ON	NT.MANT = DG.MANT
END TRY
BEGIN CATCH
	SELECT	ERROR_NUMBER()		AS N'Mã lỗi',
			ERROR_SEVERITY()	AS N'Cấp độ',
			ERROR_STATE()		AS N'Trạng thái',
			ERROR_LINE()		AS N'Dòng lỗi',
			ERROR_PROCEDURE()	AS N'Thủ tục',
			ERROR_MESSAGE()		AS N'Mô tả lỗi'
END CATCH
GO

Thì bị báo lỗi như sau ở dòng 3 BEGIN TRY:

Msg 102, Level 15, State 1, Procedure VIEW_TOP10LIKE_NHATRO, Line 3 [Batch Start Line 8]
Incorrect syntax near 'BEGIN'.

Tui tìm hiểu cả buổi vãn ko hiểu lỗi ở đâu, bỏ try catch đi thì vẫn bình thường.
Mong được hướng dẫn.

Tui tìm thấy thông tin nói là FUNCTION trong spl ko thể try catch, nên có thể VIEW cũng như vậy chăng.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?