Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Không thể tìm thấy cột “dbo” hoặc hàm do người dùng xác định hoặc tổng hợp “dbo.FN_Split” hoặc tên không rõ ràng

Trước tiên, hãy đảm bảo rằng bạn đã chạy tập lệnh tạo trong cơ sở dữ liệu chính xác.

Thứ hai, khi @astander bắt đầu đề cập, bạn đang sử dụng các kết quả hàm không chính xác.

Hàm của bạn trả về một bảng, không phải một giá trị. Bạn sẽ cần thực thi hàm như một phần của các câu lệnh sql, không phải trong quá trình xây dựng các truy vấn đặc biệt. Ví dụ:mã này:

 set @[email protected]+'UNION select items from'+ dbo.FN_Split(@p_SourceText,
                  @p_Delimeter)+' where orderId ='[email protected]+')'

sẽ trở thành:

set @sql = @sql+'UNION select items from dbo.FN_Split(' + @p_SourceText +', ' +
                  @p_Delimeter + ') where orderId =' + @i + ')'

Thực hiện các thay đổi tương tự ở mọi nơi bạn hiện đang tham chiếu đến hàm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn dữ liệu không trùng lặp từ bảng mẹ vào bảng con trong SQL server 2008

  2. SQL Server có đảm bảo việc chèn tuần tự cột nhận dạng không?

  3. Chỉ chọn giá trị cuối cùng của ngày?

  4. SQL 2005 - Tìm kiếm các thủ tục được lưu trữ cho văn bản (Không phải tất cả văn bản đều được tìm kiếm)

  5. Đếm các ngày trong tuần trong một tháng nhất định