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

Làm cách nào để chỉ định các cột được tính toán trong một bảng dựa trên một cột khác trong SQL Server?

Có, bạn sẽ tạo một hàm do người dùng xác định để thực hiện tính toán và sử dụng hàm do người dùng xác định đó trong biểu thức của cột Tính toán.

Một ví dụ làm việc sẽ giống như .....

CREATE TABLE TABLE1 (ID INT, VALUE INT)
GO
INSERT INTO TABLE1 VALUES (1 , 10), (2 , 20) , (3 , 30)
GO

CREATE FUNCTION dbo.udf_DefaultValue(@ID INT)
RETURNS INT
AS
BEGIN
    DECLARE @rtnValue INT;
    SELECT @rtnValue = VALUE *2 FROM TABLE1 WHERE ID = @ID
    RETURN @rtnValue;
END
GO

CREATE TABLE TABLE2 (ID INT
                  , VALUE INT
                  , ComputedColumn AS (VALUE * dbo.udf_DefaultValue(ID)) )
GO

INSERT INTO TABLE2 (ID , VALUE)
VALUES (1, 1)

SELECT * FROM TABLE2

/*****  Result Set  *****/

ID  VALUE   ComputedColumn
1     1           20


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bạn nhầm lẫn về UPDLOCK, HOLDLOCK

  2. Truy vấn Pivot SQL - Hiển thị Ngày trong cột

  3. Các loại con trỏ máy chủ SQL - Con trỏ KEYSET | Hướng dẫn sử dụng SQL Server / TSQL

  4. Cách xoay động với cột ngày tháng

  5. Số lượng giao dịch sau khi THỰC HIỆN chỉ ra rằng câu lệnh GIAO DỊCH COMMIT hoặc ROLLBACK bị thiếu - SQL server 2005