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

Chuyển bảng dưới dạng tham số vào UDF máy chủ sql

Bạn có thể, tuy nhiên không có bất kỳ bảng nào. Từ tài liệu:

Đối với các hàm Transact-SQL, tất cả các kiểu dữ liệu, bao gồm cả kiểu CLR do người dùng xác định và kiểu bảng do người dùng xác định, đều được phép ngoại trừ kiểu dữ liệu dấu thời gian.

Bạn có thể sử dụng loại bảng do người dùng xác định .

Ví dụ về loại bảng do người dùng xác định:

CREATE TYPE TableType 
AS TABLE (LocationName VARCHAR(50))
GO 

DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES('aaa')
SELECT * FROM @myTable

Vì vậy, những gì bạn có thể làm là xác định loại bảng của mình, ví dụ:TableType và xác định hàm nhận tham số kiểu này. Một chức năng ví dụ:

CREATE FUNCTION Example( @TableName TableType READONLY)
RETURNS VARCHAR(50)
AS
BEGIN
    DECLARE @name VARCHAR(50)

    SELECT TOP 1 @name = LocationName FROM @TableName
    RETURN @name
END

Tham số phải SN SÀNG. Và cách sử dụng ví dụ:

DECLARE @myTable TableType
INSERT INTO @myTable(LocationName) VALUES('aaa')
SELECT * FROM @myTable

SELECT dbo.Example(@myTable)

Tùy thuộc vào những gì bạn muốn đạt được, bạn có thể sửa đổi mã này.

CHỈNH SỬA: Nếu bạn có dữ liệu trong bảng, bạn có thể tạo một biến:

DECLARE @myTable TableType

Và lấy dữ liệu từ bảng của bạn vào biến

INSERT INTO @myTable(field_name)
SELECT field_name_2 FROM my_other_table


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách hoạt động của câu lệnh IF trong SQL Server

  2. Lược đồ trong SQL Server là gì và cách tạo / thả lược đồ trong cơ sở dữ liệu SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 27

  3. Giải pháp cho:Cập nhật cửa hàng, chèn hoặc xóa câu lệnh ảnh hưởng đến một số hàng không mong muốn (0)

  4. Sử dụng câu lệnh tạo để tạo bảng trong SQL Server - SQL Server / T- Hướng dẫn sử dụng SQL Phần 34

  5. Cách Bỏ Ràng buộc Khoá Ngoại trong Cơ sở dữ liệu SQL Server - Hướng dẫn SQL Server / TSQL Phần 75