SQL Views - no variables?

前端 未结 8 1874
北荒
北荒 2020-12-04 17:31

Is it possible to declare a variable within a View? For example:

Declare @SomeVar varchar(8) = \'something\'

gives me the syntax error:

8条回答
  •  离开以前
    2020-12-04 17:56

    @datenstation had the correct concept. Here is a working example that uses CTE to cache variable's names:

    CREATE VIEW vwImportant_Users AS
    WITH params AS (
        SELECT 
        varType='%Admin%', 
        varMinStatus=1)
    SELECT status, name 
        FROM sys.sysusers, params
        WHERE status > varMinStatus OR name LIKE varType
    
    SELECT * FROM vwImportant_Users
    

    also via JOIN

    WITH params AS ( SELECT varType='%Admin%', varMinStatus=1)
    SELECT status, name 
        FROM sys.sysusers INNER JOIN params ON 1=1
        WHERE status > varMinStatus OR name LIKE varType
    

    also via CROSS APPLY

    WITH params AS ( SELECT varType='%Admin%', varMinStatus=1)
    SELECT status, name 
        FROM sys.sysusers CROSS APPLY params
        WHERE status > varMinStatus OR name LIKE varType
    

提交回复
热议问题