示例#1
0
        public override string GetProcedure(TableName pname)
        {
            var table = pname.FillDataTable($"USE [{pname.DatabaseName.Name}]; SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA='{pname.SchemaName}' AND ROUTINE_NAME='{pname.Name}'");

            return(table.AsEnumerable()
                   .Select(row => row.Field <string>("ROUTINE_DEFINITION"))
                   .FirstOrDefault());
        }
示例#2
0
        internal ComputedColumns(TableName tname)
        {
            string SQL = $@"
            USE [{tname.DatabaseName.Name}]
            SELECT c.name
            FROM sys.tables t 
	            JOIN sys.columns c ON t.object_id = c.object_id 
            WHERE t.name = '{tname.Name}' AND c.is_computed = 1";

            this.columnNames = tname.FillDataTable(SQL).ToArray <string>(0);
        }
示例#3
0
        public override DataTable GetTableSchema(TableName tname)
        {
            string SQL = string.Format(SQL_SCHEMA,
                                       string.Empty,
                                       $"AND pk.TABLE_SCHEMA = '{tname.SchemaName}'",
                                       $"WHERE t.name='{tname.Name}' AND SCHEMA_NAME(t.schema_id) = '{tname.SchemaName}'");

            StringBuilder builder = new StringBuilder();

            builder.AppendLine($"USE [{tname.DatabaseName.Name}]");
            builder.Append(SQL);
            SQL = builder.ToString();

            return(tname.FillDataTable(SQL));
        }