private string GetExtendedProperty(string schemaName)
        {
            var execExtendedProperty = new ExecuteStatement();

            execExtendedProperty.ExecuteSpecification = new ExecuteSpecification();

            var name = new ChildObjectName();

            name.Identifiers.Add(new Identifier {
                Value = _scripts
            });

            var procedureReference = new ProcedureReference();

            procedureReference.Name = "sp_addextendedproperty".ToSchemaObjectName();

            var entity = new ExecutableProcedureReference();

            entity.ProcedureReference = new ProcedureReferenceName();
            entity.ProcedureReference.ProcedureReference = procedureReference;


            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@name", "tSQLt.TestClass"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@value", 1));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0type", "SCHEMA"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0name", schemaName.UnQuote()));

            execExtendedProperty.ExecuteSpecification.ExecutableEntity = entity;

            return(GenerateScript(execExtendedProperty));
        }
Exemple #2
0
        /// <summary>
        /// Create a SqlName from a ChildObjectName.
        /// </summary>
        /// <param name="name">the name to convert</param>
        /// <returns>a SqlName or null</returns>
        public static SqlName From(ChildObjectName name)
        {
            if (name is null)
            {
                return(null);
            }
            SqlName result = null;

            if (name.ServerIdentifier != null)
            {
                result = new SqlName(result, name.ServerIdentifier.Value, ObjectLevel.Server);
            }
            if ((name.DatabaseIdentifier != null) || (result != null))
            {
                result = new SqlName(result, (name.DatabaseIdentifier?.Value) ?? string.Empty, ObjectLevel.Database);
            }
            if ((name.SchemaIdentifier != null) || (result != null))
            {
                result = new SqlName(result, (name.SchemaIdentifier?.Value) ?? string.Empty, ObjectLevel.Schema);
            }
            if ((name.BaseIdentifier != null) || (result != null))
            {
                result = new SqlName(result, (name.BaseIdentifier?.Value) ?? string.Empty, ObjectLevel.Object);
            }
            if ((name.ChildIdentifier != null) || (result != null))
            {
                result = new SqlName(result, (name.ChildIdentifier?.Value) ?? string.Empty, ObjectLevel.Child);
            }
            return(result);
        }
        private string GetExtendedProperty()
        {
            var execExtendedProperty = new ExecuteStatement();
            execExtendedProperty.ExecuteSpecification = new ExecuteSpecification();

            var name = new ChildObjectName();
            name.Identifiers.Add(new Identifier(){Value = _procedureName});

            var procedureReference = new ProcedureReference();
            procedureReference.Name = "sp_addextendedproperty".ToSchemaObjectName();

            var entity = new ExecutableProcedureReference();
            entity.ProcedureReference = new ProcedureReferenceName();
            entity.ProcedureReference.ProcedureReference = procedureReference;

            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@name", "tSQLt.TestClass"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@value", 1));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0type", "SCHEMA"));
            entity.Parameters.Add(ParametersHelper.CreateStoredProcedureParameter("@level0name", _procedureName));

            execExtendedProperty.ExecuteSpecification.ExecutableEntity = entity;

            return GenerateScript(execExtendedProperty);
        }
 public override void Visit(ChildObjectName node) { this.action(node); }
 public override void ExplicitVisit(ChildObjectName fragment)
 {
     _fragments.Add(fragment);
 }