Skip to main content

SQL Script to Create Enums For Table Columns

While working on a data migration project, using C# and Azure Functions, I found myself needing to create enums to use in my code for the columns.  Some of the tables where vary large (over 200 columns) and doing this manually would have taken a while to do it.  So, I wrote the below SQL script to create the enums for me.  To use this simply replace the table and schema variables with the schema and table name you want to generate the enums for.


 declare @Table sysname = '<INSERT TABLE NAME HERE>';  
 declare @Schema sysname = 'INSERT SCHEMA NAME HERE';  
 declare @Result varchar(max) = 'public enum ' + @Table + 'Columns' + '  
 {'  
 select @Result = CONCAT(@Result, '  
      ',ColName, ' = ', SUM(ColNum), ',')  
 from  
 (  
      select COLUMN_NAME as ColName, SUM(ORDINAL_POSITION - 1) as ColNum  
      from INFORMATION_SCHEMA.COLUMNS  
      where TABLE_NAME = @Table AND TABLE_SCHEMA = @Schema  
      group by COLUMN_NAME  
 ) t  
 group by ColName, ColNum  
 order by ColNum  
 set @Result = @Result + '  
 }'  
 print @Result  

Comments

  1. IS THE NET FULL STACK DEVELOPER PERFORMING ALL TASKS? The Net full stack developer demand is already at its height and still increasing. Also, the Net full stack developer performs the functions of integrating the front-end side and the server-side development. So, most tasks are executed by a Net full stack developer.

    ReplyDelete
  2. Web applications generally use SQL inquiries with client-provided input in the WHERE provision to recover information from a data set. https://onohosting.com/

    ReplyDelete
  3. That is the place where the arrangements modeler can help. They will likewise need to work near characterize the information word reference that the framework will utilize. Information components ought to be characterized reliably all through the framework and the hotspot for these definitions should be the database information word reference.https://hostinglelo.in/

    ReplyDelete
  4. The tire market has different sizes, styles, and brands, and understanding which tire can work for your vehicle may be confusing. We provide exceptional tire services from tire replacement, tire rotation, and everything your vehicle needs.

    ReplyDelete
  5. He is a well-respected businessman/leader in the community and has received many awards for various competitions in his field. His son Franco continues to follow in his footsteps. In keeping up with business ethics and determination. Franco strives for excellence, perfection and quality.

    ReplyDelete
  6. She finds great satisfaction in bringing focused medicine, health, and wellness, to her patients. Dr. has a personable and intimate rapport with her patients throughout their inner and outer health journey. She has enjoyed counseling patients and has addressed patients beyond the scope of traditional gynecology. In addition, Dr. cares for men in addressing their hormonal imbalances.

    ReplyDelete
  7. Williamson Caterers offers a variety of menus and packages including All-Inclusive Wedding Packages, Station Menus, Cocktail Party Selections, Brunch and Buffet Menus, and Cook-Outs. Williamson Caterers welcomes the opportunity to customize a menu specific to your event budget and needs.

    ReplyDelete
  8. Buildrite has a fine and friendly approach towards its clients. Their main focus remains satisfied and pleased customers that are acquired through reliance, integrity, proficiency, and high-quality services.

    ReplyDelete
  9. We are a full-service trucking company established worldwide to add convenience and pace in freight transportation for commercial purposes. Maintaining the safest driving records on the road.

    ReplyDelete
  10. Fame Jackets have so far served many of customers and thus we can claim to have customers wearing our jackets throughout the world. To make sure smooth and efficient shipping and delivery solutions Fame Jackets collaborate with the premium courier services working internationally.

    ReplyDelete
  11. World's Smartest email List Cleaning Service, Quick, simple and accurate. Bulk Mail Verifier will not only save you time but tons of money too!

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. Link the executives permits the power and information links for your PCs and other hardware to be stowed away from sight in a plate under the desk or, in some office desk plans, through the leg outline itself.
    http://ergodesks.co/

    ReplyDelete

Post a Comment

Popular posts from this blog

Validating User Input In CRM Portals With JavaScript

When we are setting up CRM Portals to allow customers to update their information, open cases, fill out an applications, etc. We want to make sure that we are validating their input before it is committed to CRM.  This way we ensure that our data is clean and meaningful to us and the customer. CRM Portals already has a lot validation checks built into it. But, on occasion we need to add our own.  To do this we will use JavaScript to run the validation and also to output a message to the user to tell them there is an issue they need to fix. Before we can do any JavaScript, we need to check and see if we are using JavaScript on an Entity Form or Web Page.  This is because the JavaScript, while similar, will be different.  First, we will go over the JavaScript for Entity Forms.  Then, we will go over the JavaScript for Web Pages.  Finally, we will look at the notification JavaScript. Entity Form: if (window.jQuery) { (function ($) { if ...

Reusable Method To Get Record By Id

I have a handful of reusable code that I use when creating plugins or external process (i.e. Azure Functions) for working with DataVerse. The first one I am providing is Getting a Record By Id: 1: private static Entity GetFullRecord(string entityName, string primaryKey, Guid recordId, IOrganizationService service) 2: { 3: using (OrganizationServiceContext context = new OrganizationServiceContext(service)) 4: { 5: return (from e in context.CreateQuery(entityName) 6: where (Guid)e[primaryKey] == recordId 7: select e).Single(); 8: } 9: } entityName = The logical name of the entity primaryKey = The primary key field for the entity. If using late binding you can create this dynamically by doing: $"{target.LogicalName}id" recordId = Guid of the record to get service = Service to interact with DataVerse

Understanding Managed and Unmanaged Solutions in Dynamics 365

Dynamics 365, Microsoft's robust suite of business applications, boasts a myriad of features that can be customized to cater to the specific needs of any business. A vital concept to grasp when working with Dynamics 365 is the difference between managed and unmanaged solutions. This blog post aims to clarify these two types of solutions, providing a comprehensive analysis of the advantages and disadvantages of each. Unmanaged Solutions Unmanaged solutions act as a dynamic development environment, enabling direct alterations and additions to system components. They are often employed during the development and testing phase of a customization project but are equally effective when implemented in production instances, particularly for internal organizational operations. Pros of Unmanaged Solutions: Flexibility : Unmanaged solutions provide a high degree of adaptability, permitting developers to modify system components, introduce new elements, or discard those that are no longer nece...