ssis_t.TblPrecedenceConstraint_src - V

type: V ( view ), modify_date: 2021-11-01 13:46:40

RepoObject_guid: 8364FBE4-113B-EC11-852C-A81E8446D5B0

Description

Examples

Entity Diagram

entity-ssis_t.tblprecedenceconstraint_src

Columns

Table 1. Columns of ssis_t.TblPrecedenceConstraint_src - V
PK Column Name Data Type NULL? ID

nvarchar(max)

NULL

uniqueidentifier

NULL

int

NULL

nvarchar(max)

NULL

varchar(12)

NOT NULL

bit

NULL

nvarchar(max)

NULL

varchar(8000)

NOT NULL

int

NOT NULL

nvarchar(max)

NULL

nvarchar(max)

NULL

Foreign Key Diagram

entity_1_1_fk-ssis_t.tblprecedenceconstraint_src

References

Referenced Objects

Referencing Objects

Object Reference Diagram - 1 1

entity_1_1_objectref-ssis_t.tblprecedenceconstraint_src

Object Reference Diagram - Referenced - 30 0

entity_30_0_objectref-ssis_t.tblprecedenceconstraint_src

Object Reference Diagram - Referencing - 0 30

entity_0_30_objectref-ssis_t.tblprecedenceconstraint_src

Column Reference Diagram

entity_1_1_colref-ssis_t.tblprecedenceconstraint_src

Column Details

_

CreationName

CreationName

nvarchar(max)

NULL

DTSID

DTSID

uniqueidentifier

NULL

EvalOp

EvalOp

int

NULL

Expression

Expression

nvarchar(max)

NULL

FlowType

FlowType

varchar(12)

NOT NULL

LogicalAnd

LogicalAnd

bit

NULL

ObjectName

ObjectName

nvarchar(max)

NULL

PackagePath

PackagePath

varchar(8000)

NOT NULL

RowID

RowID

int

NOT NULL

TaskFrom

TaskFrom

nvarchar(max)

NULL

TaskTo

TaskTo

nvarchar(max)

NULL

sql_modules_definition

ssis_t.TblPrecedenceConstraint_src - V script
CREATE VIEW [ssis_t].[TblPrecedenceConstraint_src]
As
With
CTE_CFPrec
As
    (
    Select
        pkg.RowID
      , pkg.PackagePath
      , TaskFrom     = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:From[1]'
                                         , 'nvarchar(max)'
                                       )
      , TaskTo       = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:To[1]'
                                         , 'nvarchar(max)'
                                       )
      , LogicalAnd   = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:LogicalAnd[1]'
                                         , 'bit'
                                       )
      , ObjectName   = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:ObjectName[1]'
                                         , 'nvarchar(max)'
                                       )
      , CreationName = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:CreationName[1]'
                                         , 'nvarchar(max)'
                                       )
      , DTSID        = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:DTSID[1]'
                                         , 'uniqueidentifier'
                                       )
      , EvalOp       = cfnodes.x.value ( 'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:EvalOp[1]', 'int' )
      --https://docs.microsoft.com/de-de/dotnet/api/microsoft.sqlserver.dts.runtime.dtsprecedenceevalop?view=sqlserver-2019
      /*
Constraint	2
Gibt an, dass das Ausführungsergebnis bestimmt, ob der eingeschränkte Container oder Task ausgeführt wird. Legen Sie für die Value-Eigenschaft von PrecedenceConstraint den gewünschten Wert aus der DTSExecResult-Enumeration fest.

Expression	1
Gibt an, dass der Wert eines Ausdrucks bestimmt, ob der eingeschränkte Container oder Task ausgeführt wird. Legen Sie die Expression-Eigenschaft von PrecedenceConstraint fest.

ExpressionAndConstraint	3
Gibt an, dass das Einschränkungsergebnis auftreten und der Ausdruck ausgewertet werden muss, damit der eingeschränkte Container oder Task ausgeführt wird. Legen Sie die Value -Eigenschaft und die- Expression Eigenschaft des fest PrecedenceConstraint , und legen Sie die- LogicalAnd Eigenschaft auf true fest.

ExpressionOrConstraint	4
Gibt an, dass entweder das Einschränkungsergebnis auftreten oder der Ausdruck ausgewertet werden muss, damit der eingeschränkte Container oder Task ausgeführt wird. Legen Sie die Value -Eigenschaft und die- Expression Eigenschaft des fest PrecedenceConstraint , und legen Sie die- LogicalAnd Eigenschaft auf false fest.
*/
      , Expression   = cfnodes.x.value (
                                           'declare namespace p1="www.microsoft.com/SqlServer/Dts";./@p1:Expression[1]'
                                         , 'nvarchar(max)'
                                       )
    --,dft.x.value('@refId[1]','varchar(max)')
    From
        ssis_t.pkgStats                                                                                                                             As pkg
        Cross Apply pkg.PackageXML.nodes ( 'declare namespace DTS="www.microsoft.com/SqlServer/Dts";//DTS:Executable/DTS:PrecedenceConstraints/*' ) As cfnodes(x)
    )
,
CTE_DFTPrec
As
    (
    Select
        pkg.RowID
      , pkg.PackagePath
      , TaskFrom = cfnodes.x.value ( './@startId[1]', 'nvarchar(max)' )
      , TaskTo   = cfnodes.x.value ( './@endId[1]', 'nvarchar(max)' )
      , name   = cfnodes.x.value ( './@name[1]', 'nvarchar(max)' )
    --,dft.x.value('@refId[1]','varchar(max)')
    From
        ssis_t.pkgStats                                                                                                                                 As pkg
        Cross Apply pkg.PackageXML.nodes ( 'declare namespace DTS="www.microsoft.com/SqlServer/Dts";//DTS:Executable/DTS:ObjectData/pipeline/paths/*' ) As cfnodes(x)
    )


Select
    t.RowID
  , t.PackagePath
  , t.TaskFrom
  , t.TaskTo
  , t.LogicalAnd
  , t.ObjectName
  , t.CreationName
  , t.DTSID
  , t.EvalOp
  , t.Expression
  , t.FlowType
From
(
    Select
        CTE_CFPrec.RowID
      , CTE_CFPrec.PackagePath
      , CTE_CFPrec.TaskFrom
      , CTE_CFPrec.TaskTo
      , CTE_CFPrec.LogicalAnd
      , CTE_CFPrec.ObjectName
      , CTE_CFPrec.CreationName
      , CTE_CFPrec.DTSID
      , CTE_CFPrec.EvalOp
      , CTE_CFPrec.Expression
      , FlowType = 'Control Flow'
    From
        CTE_CFPrec
    Union All
    Select
        CTE_DFTPrec.RowID
      , CTE_DFTPrec.PackagePath
      , TaskFrom   = Substring ( CTE_DFTPrec.TaskFrom, 1, CharIndex ( '.', CTE_DFTPrec.TaskFrom ) - 1 )
      , TaskTo = Substring ( CTE_DFTPrec.TaskTo, 1, CharIndex ( '.', CTE_DFTPrec.TaskTo ) - 1 )
      , LogicalAnd = Null
      , ObjectName = CTE_DFTPrec.name
      , Null
      , Null
      , Null
      , Null
      , 'Data Flow'
    From
        CTE_DFTPrec

/*
for CTE_DFTPrec (Datenflusstask, dataflowtask) we have much more information in the package:

* variables
* ObjectData
** pipeline
*** components
**** compontent
***** connections
***** inputs
***** outputs

*/
) As t