{"id":37533,"date":"2025-08-12T16:18:29","date_gmt":"2025-08-12T14:18:29","guid":{"rendered":"https:\/\/www.hakoit.com\/?page_id=37533"},"modified":"2025-10-31T11:11:43","modified_gmt":"2025-10-31T10:11:43","slug":"sql-server-documentation-generator","status":"publish","type":"page","link":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/","title":{"rendered":"SQL Server Documentation Generator | SQL Server Doc Pro"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_post_title meta=\u00bboff\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb text_orientation=\u00bbcenter\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_post_title][et_pb_text admin_label=\u00bbTexto\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2 style=\"text-align: center;\">SQL Server Documentation Generator \u2013 Turn Your Script into Professional Documents<\/h2>\n<p><strong>Documenting SQL Server databases<\/strong> is essential for maintenance, auditing, and team collaboration. However, creating documentation manually is time-consuming and prone to errors.<\/p>\n<p>With <strong>SQL Server Doc PRO<\/strong>, you can automatically generate professional documentation from your\u00a0<code>CREATE TABLE<\/code>\u00a0scripts in seconds, with zero errors.<\/p>\n<p style=\"text-align: center;\"><strong>Instantly create professional documentation for your SQL Server database \ud83d\udc47\ud83d\udc47<\/strong><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; fullwidth=\u00bbon\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_fullwidth_code disabled_on=\u00bboff|off|off\u00bb admin_label=\u00bbv21&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->.sql-doc-generator * {<!-- [et_pb_line_break_holder] -->    margin: 0;<!-- [et_pb_line_break_holder] -->    padding: 0;<!-- [et_pb_line_break_holder] -->    box-sizing: border-box;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator {<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    background: linear-gradient(135deg, #2e0e36 0%, #4b225a 100%);<!-- [et_pb_line_break_holder] -->    min-height: 100vh;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->    padding: 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .container {<!-- [et_pb_line_break_holder] -->    max-width: 1200px;<!-- [et_pb_line_break_holder] -->    margin: 0 auto;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .header {<!-- [et_pb_line_break_holder] -->    text-align: center;<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->    margin-bottom: 30px;<!-- [et_pb_line_break_holder] -->    position: relative;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .header h1 {<!-- [et_pb_line_break_holder] -->    font-size: 2.5rem;<!-- [et_pb_line_break_holder] -->    margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->    text-shadow: 2px 2px 8px rgba(46,14,54,0.18);<!-- [et_pb_line_break_holder] -->    letter-spacing: 1px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .header p {<!-- [et_pb_line_break_holder] -->    font-size: 1.2rem;<!-- [et_pb_line_break_holder] -->    opacity: 0.92;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .language-toggle {<!-- [et_pb_line_break_holder] -->    position: absolute;<!-- [et_pb_line_break_holder] -->    top: 0;<!-- [et_pb_line_break_holder] -->    right: 0;<!-- [et_pb_line_break_holder] -->    background: rgba(255,255,255,0.1);<!-- [et_pb_line_break_holder] -->    border: 1px solid rgba(255,255,255,0.3);<!-- [et_pb_line_break_holder] -->    color: white;<!-- [et_pb_line_break_holder] -->    padding: 8px 15px;<!-- [et_pb_line_break_holder] -->    border-radius: 20px;<!-- [et_pb_line_break_holder] -->    cursor: pointer;<!-- [et_pb_line_break_holder] -->    font-size: 14px;<!-- [et_pb_line_break_holder] -->    transition: all 0.3s;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .language-toggle:hover {<!-- [et_pb_line_break_holder] -->    background: rgba(255,255,255,0.2);<!-- [et_pb_line_break_holder] -->    transform: scale(1.05);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .main-panel {<!-- [et_pb_line_break_holder] -->    background: #fff;<!-- [et_pb_line_break_holder] -->    border-radius: 18px;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 10px 32px rgba(46,14,54,0.10);<!-- [et_pb_line_break_holder] -->    overflow: hidden;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .input-section {<!-- [et_pb_line_break_holder] -->    padding: 30px;<!-- [et_pb_line_break_holder] -->    background: #f7f3fa;<!-- [et_pb_line_break_holder] -->    border-bottom: 1px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group {<!-- [et_pb_line_break_holder] -->    margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group label {<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->    margin-bottom: 8px;<!-- [et_pb_line_break_holder] -->    font-weight: 600;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group input,<!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group textarea {<!-- [et_pb_line_break_holder] -->    border: 2px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    font-size: 16px;<!-- [et_pb_line_break_holder] -->    transition: border-color 0.3s;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    background: #f9f7fb;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group input:focus,<!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group textarea:focus {<!-- [et_pb_line_break_holder] -->    outline: none;<!-- [et_pb_line_break_holder] -->    border-color: #7c4d8a;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 0 0 3px rgba(46,14,54,0.10);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group input {<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    padding: 12px 15px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group textarea {<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    height: 200px;<!-- [et_pb_line_break_holder] -->    padding: 15px;<!-- [et_pb_line_break_holder] -->    border: 2px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    font-family: 'Consolas', 'Monaco', monospace;<!-- [et_pb_line_break_holder] -->    font-size: 14px;<!-- [et_pb_line_break_holder] -->    resize: vertical;<!-- [et_pb_line_break_holder] -->    transition: border-color 0.3s;<!-- [et_pb_line_break_holder] -->    background: #f9f7fb;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .form-group textarea:focus {<!-- [et_pb_line_break_holder] -->    outline: none;<!-- [et_pb_line_break_holder] -->    border-color: #7c4d8a;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 0 0 3px rgba(46,14,54,0.10);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-group {<!-- [et_pb_line_break_holder] -->    display: flex;<!-- [et_pb_line_break_holder] -->    gap: 15px;<!-- [et_pb_line_break_holder] -->    margin-top: 20px;<!-- [et_pb_line_break_holder] -->    flex-wrap: wrap;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn {<!-- [et_pb_line_break_holder] -->    padding: 12px 30px;<!-- [et_pb_line_break_holder] -->    border: none;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    font-size: 16px;<!-- [et_pb_line_break_holder] -->    font-weight: 600;<!-- [et_pb_line_break_holder] -->    cursor: pointer;<!-- [et_pb_line_break_holder] -->    transition: all 0.3s;<!-- [et_pb_line_break_holder] -->    letter-spacing: 0.5px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-primary {<!-- [et_pb_line_break_holder] -->    background: linear-gradient(135deg, #2e0e36, #7c4d8a);<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 2px 8px rgba(46,14,54,0.10);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-primary:hover {<!-- [et_pb_line_break_holder] -->    background: linear-gradient(135deg, #4b225a, #a678b4);<!-- [et_pb_line_break_holder] -->    box-shadow: 0 5px 18px rgba(46,14,54,0.18);<!-- [et_pb_line_break_holder] -->    transform: translateY(-2px) scale(1.03);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-secondary {<!-- [et_pb_line_break_holder] -->    background: #7c4d8a;<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-secondary:hover {<!-- [et_pb_line_break_holder] -->    background: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-export {<!-- [et_pb_line_break_holder] -->    background: #a678b4;<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .btn-export:hover {<!-- [et_pb_line_break_holder] -->    background: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .output-section {<!-- [et_pb_line_break_holder] -->    padding: 30px;<!-- [et_pb_line_break_holder] -->    display: none;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .documentation {<!-- [et_pb_line_break_holder] -->    background: #fff;<!-- [et_pb_line_break_holder] -->    border-radius: 10px;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 2px 12px rgba(46,14,54,0.07);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .doc-header {<!-- [et_pb_line_break_holder] -->    background: linear-gradient(135deg, #2e0e36, #7c4d8a);<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->    padding: 25px;<!-- [et_pb_line_break_holder] -->    border-radius: 10px 10px 0 0;<!-- [et_pb_line_break_holder] -->    box-shadow: 0 2px 8px rgba(46,14,54,0.08);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .doc-content {<!-- [et_pb_line_break_holder] -->    padding: 25px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .table-section {<!-- [et_pb_line_break_holder] -->    margin-bottom: 40px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .table-section h3 {<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->    border-bottom: 2px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .table-info {<!-- [et_pb_line_break_holder] -->    background: #f9f7fb;<!-- [et_pb_line_break_holder] -->    border: 1px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    overflow: hidden;<!-- [et_pb_line_break_holder] -->    margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .table-info-header {<!-- [et_pb_line_break_holder] -->    background: #ede3f2;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->    padding: 15px;<!-- [et_pb_line_break_holder] -->    font-weight: 600;<!-- [et_pb_line_break_holder] -->    display: flex;<!-- [et_pb_line_break_holder] -->    justify-content: space-between;<!-- [et_pb_line_break_holder] -->    align-items: center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .table-info-body {<!-- [et_pb_line_break_holder] -->    padding: 15px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .columns-table {<!-- [et_pb_line_break_holder] -->    width: 100%;<!-- [et_pb_line_break_holder] -->    border-collapse: collapse;<!-- [et_pb_line_break_holder] -->    margin-top: 15px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .columns-table th {<!-- [et_pb_line_break_holder] -->    background: #2e0e36;<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->    padding: 12px;<!-- [et_pb_line_break_holder] -->    text-align: left;<!-- [et_pb_line_break_holder] -->    font-weight: 700;<!-- [et_pb_line_break_holder] -->    letter-spacing: 0.5px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .columns-table td {<!-- [et_pb_line_break_holder] -->    padding: 10px 12px;<!-- [et_pb_line_break_holder] -->    border-bottom: 1px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    font-size: 14px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .columns-table tr:nth-child(even) {<!-- [et_pb_line_break_holder] -->    background: #f7f3fa;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .columns-table tr:hover {<!-- [et_pb_line_break_holder] -->    background: #ede3f2;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .demo-section {<!-- [et_pb_line_break_holder] -->    background: #fbeee6;<!-- [et_pb_line_break_holder] -->    border: 1px solid #f3d6c2;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    padding: 20px;<!-- [et_pb_line_break_holder] -->    margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .demo-section h4 {<!-- [et_pb_line_break_holder] -->    color: #a678b4;<!-- [et_pb_line_break_holder] -->    margin-bottom: 15px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .badge {<!-- [et_pb_line_break_holder] -->    display: inline-block;<!-- [et_pb_line_break_holder] -->    padding: 4px 10px;<!-- [et_pb_line_break_holder] -->    border-radius: 4px;<!-- [et_pb_line_break_holder] -->    font-size: 12px;<!-- [et_pb_line_break_holder] -->    font-weight: 600;<!-- [et_pb_line_break_holder] -->    text-transform: uppercase;<!-- [et_pb_line_break_holder] -->    margin-right: 5px;<!-- [et_pb_line_break_holder] -->    letter-spacing: 0.5px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .badge-primary {<!-- [et_pb_line_break_holder] -->    background: #7c4d8a;<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .badge-nullable {<!-- [et_pb_line_break_holder] -->    background: #fbeee6;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .badge-not-null {<!-- [et_pb_line_break_holder] -->    background: #e0f7e9;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .stats-grid {<!-- [et_pb_line_break_holder] -->    display: grid;<!-- [et_pb_line_break_holder] -->    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));<!-- [et_pb_line_break_holder] -->    gap: 20px;<!-- [et_pb_line_break_holder] -->    margin-bottom: 30px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .stat-card {<!-- [et_pb_line_break_holder] -->    background: #f9f7fb;<!-- [et_pb_line_break_holder] -->    border: 1px solid #e5d8ee;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    padding: 20px;<!-- [et_pb_line_break_holder] -->    text-align: center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .stat-number {<!-- [et_pb_line_break_holder] -->    font-size: 2rem;<!-- [et_pb_line_break_holder] -->    font-weight: bold;<!-- [et_pb_line_break_holder] -->    color: #7c4d8a;<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .stat-label {<!-- [et_pb_line_break_holder] -->    color: #6c757d;<!-- [et_pb_line_break_holder] -->    font-size: 14px;<!-- [et_pb_line_break_holder] -->    margin-top: 5px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .alert {<!-- [et_pb_line_break_holder] -->    padding: 15px;<!-- [et_pb_line_break_holder] -->    border-radius: 8px;<!-- [et_pb_line_break_holder] -->    margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .alert-info {<!-- [et_pb_line_break_holder] -->    background: #e3eafc;<!-- [et_pb_line_break_holder] -->    border: 1px solid #b8daff;<!-- [et_pb_line_break_holder] -->    color: #2e0e36;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .creator-info {<!-- [et_pb_line_break_holder] -->    text-align: center;<!-- [et_pb_line_break_holder] -->    margin-top: 10px;<!-- [et_pb_line_break_holder] -->    font-size: 0.9rem;<!-- [et_pb_line_break_holder] -->    opacity: 0.8;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .creator-info a {<!-- [et_pb_line_break_holder] -->    color: #fff;<!-- [et_pb_line_break_holder] -->    text-decoration: none;<!-- [et_pb_line_break_holder] -->    font-weight: 600;<!-- [et_pb_line_break_holder] -->    transition: opacity 0.3s;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator .creator-info a:hover {<!-- [et_pb_line_break_holder] -->    opacity: 1;<!-- [et_pb_line_break_holder] -->    text-decoration: underline;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator-h2<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->    all: unset;<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    color: inherit;<!-- [et_pb_line_break_holder] -->    font-size: 1.5em;<!-- [et_pb_line_break_holder] -->    font-weight: bold;<!-- [et_pb_line_break_holder] -->    margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator-h3<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->    all: unset;<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    color: inherit;<!-- [et_pb_line_break_holder] -->    font-size: 1.17em;<!-- [et_pb_line_break_holder] -->    font-weight: bold;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator-h4<!-- [et_pb_line_break_holder] -->{<!-- [et_pb_line_break_holder] -->    all: unset;<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    color: inherit;<!-- [et_pb_line_break_holder] -->    font-weight: bold;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->.sql-doc-generator-p,<!-- [et_pb_line_break_holder] -->.sql-doc-generator-li,<!-- [et_pb_line_break_holder] -->.sql-doc-generator-span {<!-- [et_pb_line_break_holder] -->    all: unset;<!-- [et_pb_line_break_holder] -->    display: block;<!-- [et_pb_line_break_holder] -->    font-family: 'Bariol Regular', Helvetica, Arial, Lucida, sans-serif;<!-- [et_pb_line_break_holder] -->    color: inherit;<!-- [et_pb_line_break_holder] -->    margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->@media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .header h1 {<!-- [et_pb_line_break_holder] -->        font-size: 2rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .language-toggle {<!-- [et_pb_line_break_holder] -->        position: static;<!-- [et_pb_line_break_holder] -->        margin-bottom: 15px;<!-- [et_pb_line_break_holder] -->        display: inline-block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .btn-group {<!-- [et_pb_line_break_holder] -->        flex-direction: column;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .columns-table {<!-- [et_pb_line_break_holder] -->        font-size: 12px;<!-- [et_pb_line_break_holder] -->        display: block;<!-- [et_pb_line_break_holder] -->        overflow-x: auto;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .columns-table th,<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .columns-table td {<!-- [et_pb_line_break_holder] -->        padding: 8px;<!-- [et_pb_line_break_holder] -->        white-space: nowrap;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .stats-grid {<!-- [et_pb_line_break_holder] -->        grid-template-columns: 1fr;<!-- [et_pb_line_break_holder] -->        gap: 10px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .stat-card {<!-- [et_pb_line_break_holder] -->        padding: 12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .doc-content {<!-- [et_pb_line_break_holder] -->        padding: 10px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sql-doc-generator .table-section {<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/p>\n<div class=\"sql-doc-generator\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"container\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"header\"><!-- [et_pb_line_break_holder] -->            <button class=\"language-toggle\" id=\"languageBtn\" onclick=\"toggleLanguage()\">\ud83c\udf10 English<\/button><!-- [et_pb_line_break_holder] -->           <!--  \n\n<h1>SQL Doc Generator<\/h1>\n\n<!-- [et_pb_line_break_holder] -->            <pee>Genera documentaci\u00f3n profesional de tu base de datos SQL Server instant\u00e1neamente<\/pee><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"creator-info\"><!-- [et_pb_line_break_holder] -->                by <a href=\"https:\/\/www.hakoit.com\" target=\"_blank\">HakoIT<\/a><!-- [et_pb_line_break_holder] -->            <\/div>\n<p>  &#8211;><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"main-panel\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"input-section\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"demo-section\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<h4 class=\"sql-doc-generator-h4\">\ud83d\ude80 Versi\u00f3n Demo &#8211; Prueba el Generador<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                    <pee class=\"sql-doc-generator-p\">Pega tu script CREATE TABLE de SQL Server o usa nuestro ejemplo para ver la magia en acci\u00f3n.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->                    <label for=\"dbName\">Nombre de la Base de Datos<\/label><!-- [et_pb_line_break_holder] -->                    <input type=\"text\" id=\"dbName\" placeholder=\"Ej: ECommerceDB, InventorySystem...\" value=\"ECommerceDB\"><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"form-group\"><!-- [et_pb_line_break_holder] -->                    <label for=\"sqlScript\">Script SQL (CREATE TABLE)<\/label><!-- [et_pb_line_break_holder] -->                    <textarea id=\"sqlScript\" placeholder=\"Pega aqu\u00ed tus scripts CREATE TABLE de SQL Server...\">CREATE TABLE Users (<!-- [et_pb_line_break_holder] -->    UserID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    Email nvarchar(255) NOT NULL UNIQUE,<!-- [et_pb_line_break_holder] -->    FirstName nvarchar(100) NOT NULL,<!-- [et_pb_line_break_holder] -->    LastName nvarchar(100) NOT NULL,<!-- [et_pb_line_break_holder] -->    DateOfBirth date NULL,<!-- [et_pb_line_break_holder] -->    IsActive bit NOT NULL DEFAULT 1,<!-- [et_pb_line_break_holder] -->    CreatedAt datetime2 NOT NULL DEFAULT GETDATE(),<!-- [et_pb_line_break_holder] -->    LastLogin datetime2 NULL<!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->CREATE TABLE Orders (<!-- [et_pb_line_break_holder] -->    OrderID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    UserID int NOT NULL,<!-- [et_pb_line_break_holder] -->    OrderDate datetime2 NOT NULL DEFAULT GETDATE(),<!-- [et_pb_line_break_holder] -->    TotalAmount decimal(10,2) NOT NULL,<!-- [et_pb_line_break_holder] -->    Status nvarchar(50) NOT NULL DEFAULT &#8216;Pending&#8217;,<!-- [et_pb_line_break_holder] -->    ShippingAddress nvarchar(500) NULL,<!-- [et_pb_line_break_holder] -->    FOREIGN KEY (UserID) REFERENCES Users(UserID)<!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->CREATE TABLE Products (<!-- [et_pb_line_break_holder] -->    ProductID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    ProductName nvarchar(255) NOT NULL,<!-- [et_pb_line_break_holder] -->    Description ntext NULL,<!-- [et_pb_line_break_holder] -->    Price decimal(10,2) NOT NULL,<!-- [et_pb_line_break_holder] -->    StockQuantity int NOT NULL DEFAULT 0,<!-- [et_pb_line_break_holder] -->    CategoryID int NULL,<!-- [et_pb_line_break_holder] -->    IsActive bit NOT NULL DEFAULT 1,<!-- [et_pb_line_break_holder] -->    CreatedAt datetime2 NOT NULL DEFAULT GETDATE()<!-- [et_pb_line_break_holder] -->);<\/textarea><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"btn-group\"><!-- [et_pb_line_break_holder] -->                    <button class=\"btn btn-primary\" onclick=\"generateDocumentation()\">\ud83d\udcca Generar Documentaci\u00f3n<\/button><!-- [et_pb_line_break_holder] -->                    <button class=\"btn btn-secondary\" onclick=\"loadSampleData()\">\ud83d\udccb Cargar Ejemplo<\/button><!-- [et_pb_line_break_holder] -->                    <button class=\"btn btn-export\" onclick=\"exportDocumentation()\" style=\"display:none;\" id=\"exportBtn\">\ud83d\udcbe Exportar HTML<\/button><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"output-section\" id=\"outputSection\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"documentation\" id=\"documentation\"><!-- [et_pb_line_break_holder] -->                    <!-- La documentaci\u00f3n se generar\u00e1 aqu\u00ed --><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->\/\/ CONFIGURACI\u00d3N DE IDIOMAS<!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->const LANGUAGES = {<!-- [et_pb_line_break_holder] -->    es: {<!-- [et_pb_line_break_holder] -->        \/\/ Header<!-- [et_pb_line_break_holder] -->        title: \"SQL Doc Generator\",<!-- [et_pb_line_break_holder] -->        subtitle: \"Genera documentaci\u00f3n profesional de tu base de datos SQL Server instant\u00e1neamente\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Demo section<!-- [et_pb_line_break_holder] -->        demoTitle: \"\ud83d\ude80 Versi\u00f3n Demo - Prueba el Generador\",<!-- [et_pb_line_break_holder] -->        demoDescription: \"Pega tu script CREATE TABLE de SQL Server o usa nuestro ejemplo para ver la magia en acci\u00f3n.\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Form labels<!-- [et_pb_line_break_holder] -->        dbNameLabel: \"Nombre de la Base de Datos\",<!-- [et_pb_line_break_holder] -->        dbNamePlaceholder: \"Ej: ECommerceDB, InventorySystem...\",<!-- [et_pb_line_break_holder] -->        sqlScriptLabel: \"Script SQL (CREATE TABLE)\",<!-- [et_pb_line_break_holder] -->        sqlScriptPlaceholder: \"Pega aqu\u00ed tus scripts CREATE TABLE de SQL Server...\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Buttons<!-- [et_pb_line_break_holder] -->        generateBtn: \"\ud83d\udcca Generar Documentaci\u00f3n\",<!-- [et_pb_line_break_holder] -->        sampleBtn: \"\ud83d\udccb Cargar Ejemplo\",<!-- [et_pb_line_break_holder] -->        exportBtn: \"\ud83d\udcbe Exportar HTML\",<!-- [et_pb_line_break_holder] -->        languageBtn: \"\ud83c\udf10 English\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Documentation<!-- [et_pb_line_break_holder] -->        docTitle: \"\ud83d\udccb Documentaci\u00f3n de Base de Datos\",<!-- [et_pb_line_break_holder] -->        generatedOn: \"Generado el\",<!-- [et_pb_line_break_holder] -->        createdBy: \"Creado por\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Stats<!-- [et_pb_line_break_holder] -->        tablesLabel: \"Tablas\",<!-- [et_pb_line_break_holder] -->        columnsLabel: \"Columnas Total\",<!-- [et_pb_line_break_holder] -->        relationsLabel: \"Relaciones\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Table headers<!-- [et_pb_line_break_holder] -->        tableLabel: \"\ud83d\uddc3\ufe0f Tabla:\",<!-- [et_pb_line_break_holder] -->        columnHeader: \"Columna\",<!-- [et_pb_line_break_holder] -->        dataTypeHeader: \"Tipo de Dato\",<!-- [et_pb_line_break_holder] -->        nullHeader: \"Nulo\",<!-- [et_pb_line_break_holder] -->        keyHeader: \"Clave\",<!-- [et_pb_line_break_holder] -->        defaultHeader: \"Valor por Defecto\",<!-- [et_pb_line_break_holder] -->        relationsHeader: \"\ud83d\udd17 Relaciones\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Table info<!-- [et_pb_line_break_holder] -->        columnsInfo: \"Columnas:\",<!-- [et_pb_line_break_holder] -->        relationsInfo: \"Relaciones:\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Badges and values<!-- [et_pb_line_break_holder] -->        yesLabel: \"SI\",<!-- [et_pb_line_break_holder] -->        noLabel: \"NO\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Alerts and tips<!-- [et_pb_line_break_holder] -->        tipTitle: \"\ud83d\udca1 Tip:\",<!-- [et_pb_line_break_holder] -->        tipContent: \"Esta documentaci\u00f3n se genera autom\u00e1ticamente desde tus scripts CREATE TABLE. Para obtener documentaci\u00f3n m\u00e1s completa incluyendo procedimientos, vistas y triggers, considera nuestra versi\u00f3n premium.\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Error messages<!-- [et_pb_line_break_holder] -->        noScriptError: \"Por favor, ingresa un script SQL para generar la documentaci\u00f3n.\",<!-- [et_pb_line_break_holder] -->        noTablesError: \"No se encontraron tablas v\u00e1lidas en el script. Aseg\u00farate de usar la sintaxis CREATE TABLE correcta.\"<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    en: {<!-- [et_pb_line_break_holder] -->        \/\/ Header<!-- [et_pb_line_break_holder] -->        title: \"SQL Doc Generator\",<!-- [et_pb_line_break_holder] -->        subtitle: \"Generate professional SQL Server database documentation instantly\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Demo section<!-- [et_pb_line_break_holder] -->        demoTitle: \"\ud83d\ude80 Demo Version - Try the Generator\",<!-- [et_pb_line_break_holder] -->        demoDescription: \"Paste your SQL Server CREATE TABLE script or use our example to see the magic in action.\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Form labels<!-- [et_pb_line_break_holder] -->        dbNameLabel: \"Database Name\",<!-- [et_pb_line_break_holder] -->        dbNamePlaceholder: \"Ex: ECommerceDB, InventorySystem...\",<!-- [et_pb_line_break_holder] -->        sqlScriptLabel: \"SQL Script (CREATE TABLE)\",<!-- [et_pb_line_break_holder] -->        sqlScriptPlaceholder: \"Paste your SQL Server CREATE TABLE scripts here...\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Buttons<!-- [et_pb_line_break_holder] -->        generateBtn: \"\ud83d\udcca Generate Documentation\",<!-- [et_pb_line_break_holder] -->        sampleBtn: \"\ud83d\udccb Load Sample\",<!-- [et_pb_line_break_holder] -->        exportBtn: \"\ud83d\udcbe Export HTML\",<!-- [et_pb_line_break_holder] -->        languageBtn: \"\ud83c\udf10 Espa\u00f1ol\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Documentation<!-- [et_pb_line_break_holder] -->        docTitle: \"\ud83d\udccb Database Documentation\",<!-- [et_pb_line_break_holder] -->        generatedOn: \"Generated on\",<!-- [et_pb_line_break_holder] -->        createdBy: \"Created by\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Stats<!-- [et_pb_line_break_holder] -->        tablesLabel: \"Tables\",<!-- [et_pb_line_break_holder] -->        columnsLabel: \"Total Columns\",<!-- [et_pb_line_break_holder] -->        relationsLabel: \"Relations\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Table headers<!-- [et_pb_line_break_holder] -->        tableLabel: \"\ud83d\uddc3\ufe0f Table:\",<!-- [et_pb_line_break_holder] -->        columnHeader: \"Column\",<!-- [et_pb_line_break_holder] -->        dataTypeHeader: \"Data Type\",<!-- [et_pb_line_break_holder] -->        nullHeader: \"Null\",<!-- [et_pb_line_break_holder] -->        keyHeader: \"Key\",<!-- [et_pb_line_break_holder] -->        defaultHeader: \"Default Value\",<!-- [et_pb_line_break_holder] -->        relationsHeader: \"\ud83d\udd17 Relations\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Table info<!-- [et_pb_line_break_holder] -->        columnsInfo: \"Columns:\",<!-- [et_pb_line_break_holder] -->        relationsInfo: \"Relations:\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Badges and values<!-- [et_pb_line_break_holder] -->        yesLabel: \"YES\",<!-- [et_pb_line_break_holder] -->        noLabel: \"NO\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Alerts and tips<!-- [et_pb_line_break_holder] -->        tipTitle: \"\ud83d\udca1 Tip:\",<!-- [et_pb_line_break_holder] -->        tipContent: \"This documentation is automatically generated from your CREATE TABLE scripts. For more comprehensive documentation including procedures, views and triggers, consider our premium version.\",<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Error messages<!-- [et_pb_line_break_holder] -->        noScriptError: \"Please enter a SQL script to generate documentation.\",<!-- [et_pb_line_break_holder] -->        noTablesError: \"No valid tables found in the script. Make sure to use correct CREATE TABLE syntax.\"<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Idioma actual<!-- [et_pb_line_break_holder] -->let currentLanguage = 'en';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->\/\/ FUNCIONES DE IDIOMA<!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->function getCurrentTexts() {<!-- [et_pb_line_break_holder] -->    return LANGUAGES[currentLanguage];<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function toggleLanguage() {<!-- [et_pb_line_break_holder] -->    currentLanguage = currentLanguage === 'es' ? 'en' : 'es';<!-- [et_pb_line_break_holder] -->    updateUILanguage();<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Si ya hay documentaci\u00f3n generada, regenerarla en el nuevo idioma<!-- [et_pb_line_break_holder] -->    const outputSection = document.getElementById('outputSection');<!-- [et_pb_line_break_holder] -->    if (outputSection.style.display === 'block') {<!-- [et_pb_line_break_holder] -->        generateDocumentation();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function updateUILanguage() {<!-- [et_pb_line_break_holder] -->    const texts = getCurrentTexts();<!-- [et_pb_line_break_holder] -->    document.documentElement.lang = currentLanguage;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Actualizar textos de la interfaz<!-- [et_pb_line_break_holder] -->    \/\/document.querySelector('.header h1').textContent = texts.title;<!-- [et_pb_line_break_holder] -->    \/\/document.querySelector('.header p').textContent = texts.subtitle;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.querySelector('.demo-section h4').textContent = texts.demoTitle;<!-- [et_pb_line_break_holder] -->    document.querySelector('.demo-section p').textContent = texts.demoDescription;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.querySelector('label[for=\"dbName\"]').textContent = texts.dbNameLabel;<!-- [et_pb_line_break_holder] -->    document.getElementById('dbName').placeholder = texts.dbNamePlaceholder;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.querySelector('label[for=\"sqlScript\"]').textContent = texts.sqlScriptLabel;<!-- [et_pb_line_break_holder] -->    document.getElementById('sqlScript').placeholder = texts.sqlScriptPlaceholder;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.querySelector('.btn-primary').innerHTML = texts.generateBtn;<!-- [et_pb_line_break_holder] -->    document.querySelector('.btn-secondary').innerHTML = texts.sampleBtn;<!-- [et_pb_line_break_holder] -->    document.getElementById('exportBtn').innerHTML = texts.exportBtn;<!-- [et_pb_line_break_holder] -->    document.getElementById('languageBtn').innerHTML = texts.languageBtn;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->\/\/ FUNCIONES DE PARSEO SQL<!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->function parseCreateTableScript(script) {<!-- [et_pb_line_break_holder] -->    const tables = [];<!-- [et_pb_line_break_holder] -->    const tableRegex = \/CREATE\\s+TABLE\\s+((?:\\[[^\\]]+\\])|(?:\"[^\"]+\")|\\w+)\\s*\\(([\\s\\S]*?)\\)\\s*(?:;|\\bGO\\b|$)\/gi;<!-- [et_pb_line_break_holder] -->    let match;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    while ((match = tableRegex.exec(script)) !== null) {<!-- [et_pb_line_break_holder] -->        const tableName = match[1].replace(\/^\\[|\\]$|^\"|\"$\/g, '');<!-- [et_pb_line_break_holder] -->        const columnsText = match[2];<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const columns = parseColumns(columnsText);<!-- [et_pb_line_break_holder] -->        const constraints = parseConstraints(columnsText);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        tables.push({<!-- [et_pb_line_break_holder] -->            name: tableName,<!-- [et_pb_line_break_holder] -->            columns: columns,<!-- [et_pb_line_break_holder] -->            constraints: constraints<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    return tables;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function parseColumns(columnsText) {<!-- [et_pb_line_break_holder] -->    const columns = [];<!-- [et_pb_line_break_holder] -->    const lines = columnsText.split(\/\\r?\\n\/).map(l => l.trim()).filter(Boolean);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    for (let line of lines) {<!-- [et_pb_line_break_holder] -->        if (\/^(CONSTRAINT|PRIMARY\\s+KEY|FOREIGN\\s+KEY)\/i.test(line)) continue;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const columnMatch = line.match(\/^((?:\\[[^\\]]+\\])|(?:\"[^\"]+\")|\\w+)\\s+([a-zA-Z0-9_]+(?:\\s*\\([^)]+\\))?(?:\\s+IDENTITY\\([^)]+\\))?)\\s*(.*)$\/i);<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        if (columnMatch) {<!-- [et_pb_line_break_holder] -->            let [, columnName, dataType, modifiers] = columnMatch;<!-- [et_pb_line_break_holder] -->            columnName = columnName.replace(\/^\\[|\\]$|^\"|\"$\/g, '');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const isNullable = !\/NOT\\s+NULL\/i.test(modifiers);<!-- [et_pb_line_break_holder] -->            const isPrimaryKey = \/PRIMARY\\s+KEY\/i.test(modifiers);<!-- [et_pb_line_break_holder] -->            const isIdentity = \/IDENTITY\/i.test(modifiers);<!-- [et_pb_line_break_holder] -->            const hasDefault = \/DEFAULT\/i.test(modifiers);<!-- [et_pb_line_break_holder] -->            const isUnique = \/UNIQUE\/i.test(modifiers);<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            let defaultValue = '';<!-- [et_pb_line_break_holder] -->            if (hasDefault) {<!-- [et_pb_line_break_holder] -->                const defaultMatch = modifiers.match(\/DEFAULT\\s+([^,\\s]+(?:\\([^)]*\\))?)\/i);<!-- [et_pb_line_break_holder] -->                if (defaultMatch) {<!-- [et_pb_line_break_holder] -->                    defaultValue = defaultMatch[1];<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            columns.push({<!-- [et_pb_line_break_holder] -->                name: columnName,<!-- [et_pb_line_break_holder] -->                dataType: dataType.trim(),<!-- [et_pb_line_break_holder] -->                nullable: isNullable,<!-- [et_pb_line_break_holder] -->                primaryKey: isPrimaryKey,<!-- [et_pb_line_break_holder] -->                identity: isIdentity,<!-- [et_pb_line_break_holder] -->                unique: isUnique,<!-- [et_pb_line_break_holder] -->                defaultValue: defaultValue<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    return columns;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function parseConstraints(columnsText) {<!-- [et_pb_line_break_holder] -->    const constraints = [];<!-- [et_pb_line_break_holder] -->    const foreignKeyRegex = \/FOREIGN\\s+KEY\\s*\\(\\s*((?:\\[[^\\]]+\\])|(?:\"[^\"]+\")|\\w+)\\s*\\)\\s+REFERENCES\\s+((?:\\[[^\\]]+\\])|(?:\"[^\"]+\")|\\w+)\\s*\\(\\s*((?:\\[[^\\]]+\\])|(?:\"[^\"]+\")|\\w+)\\s*\\)\/gi;<!-- [et_pb_line_break_holder] -->    let match;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    while ((match = foreignKeyRegex.exec(columnsText)) !== null) {<!-- [et_pb_line_break_holder] -->        const column = match[1].replace(\/^\\[|\\]$|^\"|\"$\/g, '');<!-- [et_pb_line_break_holder] -->        const referencedTable = match[2].replace(\/^\\[|\\]$|^\"|\"$\/g, '');<!-- [et_pb_line_break_holder] -->        const referencedColumn = match[3].replace(\/^\\[|\\]$|^\"|\"$\/g, '');<!-- [et_pb_line_break_holder] -->        constraints.push({<!-- [et_pb_line_break_holder] -->            type: 'FOREIGN KEY',<!-- [et_pb_line_break_holder] -->            column: column,<!-- [et_pb_line_break_holder] -->            referencedTable: referencedTable,<!-- [et_pb_line_break_holder] -->            referencedColumn: referencedColumn<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    return constraints;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->\/\/ FUNCIONES PRINCIPALES<!-- [et_pb_line_break_holder] -->\/\/ ===========================================<!-- [et_pb_line_break_holder] -->function generateDocumentation(autoLoad = false) {<!-- [et_pb_line_break_holder] -->    const texts = getCurrentTexts();<!-- [et_pb_line_break_holder] -->    const dbName = document.getElementById('dbName').value || 'Mi Base de Datos';<!-- [et_pb_line_break_holder] -->    const script = document.getElementById('sqlScript').value;<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (!script.trim()) {<!-- [et_pb_line_break_holder] -->        alert(texts.noScriptError);<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const tables = parseCreateTableScript(script);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (tables.length === 0) {<!-- [et_pb_line_break_holder] -->        alert(texts.noTablesError);<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const documentation = generateDocumentationHTML(dbName, tables);<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    document.getElementById('documentation').innerHTML = documentation;<!-- [et_pb_line_break_holder] -->    document.getElementById('outputSection').style.display = 'block';<!-- [et_pb_line_break_holder] -->    document.getElementById('exportBtn').style.display = 'inline-block';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    if (!autoLoad) {<!-- [et_pb_line_break_holder] -->        document.getElementById('outputSection').scrollIntoView({ behavior: 'smooth' });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function generateDocumentationHTML(dbName, tables) {<!-- [et_pb_line_break_holder] -->    const texts = getCurrentTexts();<!-- [et_pb_line_break_holder] -->    const totalColumns = tables.reduce((sum, table) => sum + table.columns.length, 0);<!-- [et_pb_line_break_holder] -->    const totalConstraints = tables.reduce((sum, table) => sum + table.constraints.length, 0);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const dateOptions = currentLanguage === 'es' <!-- [et_pb_line_break_holder] -->        ? { year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit' }<!-- [et_pb_line_break_holder] -->        : { year: 'numeric', month: 'long', day: 'numeric', hour: '2-digit', minute: '2-digit' };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let html = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"doc-header\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h2 class=\"sql-doc-generator-h2\">${texts.docTitle}<\/h2>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 class=\"sql-doc-generator-h3\">${dbName}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <pee class=\"sql-doc-generator-p\">${texts.generatedOn} ${new Date().toLocaleDateString(currentLanguage === 'es' ? 'es-ES' : 'en-US', dateOptions)}<\/pee><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"creator-info\"><!-- [et_pb_line_break_holder] -->                ${texts.createdBy} <a href=\"https:\/\/www.hakoit.com\" target=\"_blank\">HakoIT<\/a><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"doc-content\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stats-grid\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"stat-card\"><!-- [et_pb_line_break_holder] -->                    <span class=\"stat-number\">${tables.length}<\/span><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"stat-label\">${texts.tablesLabel}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"stat-card\"><!-- [et_pb_line_break_holder] -->                    <span class=\"stat-number\">${totalColumns}<\/span><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"stat-label\">${texts.columnsLabel}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"stat-card\"><!-- [et_pb_line_break_holder] -->                    <span class=\"stat-number\">${totalConstraints}<\/span><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"stat-label\">${texts.relationsLabel}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->    `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    for (const table of tables) {<!-- [et_pb_line_break_holder] -->        html += generateTableHTML(table);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    html += `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"alert alert-info\"><!-- [et_pb_line_break_holder] -->            <strong>${texts.tipTitle}<\/strong> <span class=\"sql-doc-generator-p\">${texts.tipContent}<\/span><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    return html;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function generateTableHTML(table) {<!-- [et_pb_line_break_holder] -->    const texts = getCurrentTexts();<!-- [et_pb_line_break_holder] -->    const primaryKeys = table.columns.filter(col => col.primaryKey).map(col => col.name);<!-- [et_pb_line_break_holder] -->    const identityColumns = table.columns.filter(col => col.identity).map(col => col.name);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let html = `<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"table-section\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 class=\"sql-doc-generator-h3\">${texts.tableLabel} ${table.name}<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"table-info\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"table-info-header\"><!-- [et_pb_line_break_holder] -->                    <span class=\"sql-doc-generator-span\">${table.name}<\/span><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div><!-- [et_pb_line_break_holder] -->                        ${primaryKeys.length > 0 ? `<span class=\"badge badge-primary\">PK: ${primaryKeys.join(', ')}<\/span>` : ''}<!-- [et_pb_line_break_holder] -->                        ${identityColumns.length > 0 ? `<span class=\"badge badge-not-null\">Identity<\/span>` : ''}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"table-info-body\"><!-- [et_pb_line_break_holder] -->                    <pee class=\"sql-doc-generator-p\"><strong>${texts.columnsInfo}<\/strong> ${table.columns.length}<\/pee><!-- [et_pb_line_break_holder] -->                    ${table.constraints.length > 0 ? `<pee class=\"sql-doc-generator-p\"><strong>${texts.relationsInfo}<\/strong> ${table.constraints.length}<\/pee>` : ''}<!-- [et_pb_line_break_holder] -->                    <!-- [et_pb_line_break_holder] -->                    <\/p>\n<table class=\"columns-table\"><!-- [et_pb_line_break_holder] -->                        <\/p>\n<thead><!-- [et_pb_line_break_holder] -->                            <\/p>\n<tr><!-- [et_pb_line_break_holder] -->                                <\/p>\n<th class=\"sql-doc-generator-th\">${texts.columnHeader}<\/th>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<th class=\"sql-doc-generator-th\">${texts.dataTypeHeader}<\/th>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<th class=\"sql-doc-generator-th\">${texts.nullHeader}<\/th>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<th class=\"sql-doc-generator-th\">${texts.keyHeader}<\/th>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<th class=\"sql-doc-generator-th\">${texts.defaultHeader}<\/th>\n<p><!-- [et_pb_line_break_holder] -->                            <\/tr>\n<p><!-- [et_pb_line_break_holder] -->                        <\/thead>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<tbody><!-- [et_pb_line_break_holder] -->    `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    for (const column of table.columns) {<!-- [et_pb_line_break_holder] -->        let keyInfo = '';<!-- [et_pb_line_break_holder] -->        if (column.primaryKey) keyInfo += '<span class=\"badge badge-primary\">PK<\/span>';<!-- [et_pb_line_break_holder] -->        if (column.identity) keyInfo += '<span class=\"badge badge-not-null\">Identity<\/span>';<!-- [et_pb_line_break_holder] -->        if (column.unique) keyInfo += '<span class=\"badge badge-primary\">Unique<\/span>';<!-- [et_pb_line_break_holder] -->        if (!keyInfo) keyInfo = '-';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        html += `<!-- [et_pb_line_break_holder] -->            <\/p>\n<tr><!-- [et_pb_line_break_holder] -->                <\/p>\n<td class=\"sql-doc-generator-td\"><strong>${column.name}<\/strong><\/td>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<td class=\"sql-doc-generator-td\"><code>${column.dataType}<\/code><\/td>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<td class=\"sql-doc-generator-td\"><!-- [et_pb_line_break_holder] -->                    <span class=\"badge ${column.nullable ? 'badge-nullable' : 'badge-not-null'}\"><!-- [et_pb_line_break_holder] -->                        ${column.nullable ? texts.yesLabel : texts.noLabel}<!-- [et_pb_line_break_holder] -->                    <\/span><!-- [et_pb_line_break_holder] -->                <\/td>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<td class=\"sql-doc-generator-td\">${keyInfo}<\/td>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<td class=\"sql-doc-generator-td\">${column.defaultValue || '-'}<\/td>\n<p><!-- [et_pb_line_break_holder] -->            <\/tr>\n<p><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    html += `<!-- [et_pb_line_break_holder] -->                        <\/tbody>\n<p><!-- [et_pb_line_break_holder] -->                    <\/table>\n<p><!-- [et_pb_line_break_holder] -->    `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (table.constraints.length > 0) {<!-- [et_pb_line_break_holder] -->        html += `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div style=\"margin-top: 20px;\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h4 class=\"sql-doc-generator-h4\">${texts.relationsHeader}<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<ul style=\"margin-left: 20px;\"><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        for (const constraint of table.constraints) {<!-- [et_pb_line_break_holder] -->            html += `<\/p>\n<li class=\"sql-doc-generator-li\"><strong>${constraint.column}<\/strong> \u2192 <strong>${constraint.referencedTable}.${constraint.referencedColumn}<\/strong><\/li>\n<p>`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        html += `<!-- [et_pb_line_break_holder] -->                <\/ul>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    html += `<!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->    `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    return html;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function loadSampleData() {<!-- [et_pb_line_break_holder] -->    const sampleScript = `CREATE TABLE Users (<!-- [et_pb_line_break_holder] -->    UserID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    Email nvarchar(255) NOT NULL UNIQUE,<!-- [et_pb_line_break_holder] -->    FirstName nvarchar(100) NOT NULL,<!-- [et_pb_line_break_holder] -->    LastName nvarchar(100) NOT NULL,<!-- [et_pb_line_break_holder] -->    DateOfBirth date NULL,<!-- [et_pb_line_break_holder] -->    IsActive bit NOT NULL DEFAULT 1,<!-- [et_pb_line_break_holder] -->    CreatedAt datetime2 NOT NULL DEFAULT GETDATE(),<!-- [et_pb_line_break_holder] -->    LastLogin datetime2 NULL<!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->CREATE TABLE Orders (<!-- [et_pb_line_break_holder] -->    OrderID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    UserID int NOT NULL,<!-- [et_pb_line_break_holder] -->    OrderDate datetime2 NOT NULL DEFAULT GETDATE(),<!-- [et_pb_line_break_holder] -->    TotalAmount decimal(10,2) NOT NULL,<!-- [et_pb_line_break_holder] -->    Status nvarchar(50) NOT NULL DEFAULT 'Pending',<!-- [et_pb_line_break_holder] -->    ShippingAddress nvarchar(500) NULL,<!-- [et_pb_line_break_holder] -->    FOREIGN KEY (UserID) REFERENCES Users(UserID)<!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->CREATE TABLE Products (<!-- [et_pb_line_break_holder] -->    ProductID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    ProductName nvarchar(255) NOT NULL,<!-- [et_pb_line_break_holder] -->    Description ntext NULL,<!-- [et_pb_line_break_holder] -->    Price decimal(10,2) NOT NULL,<!-- [et_pb_line_break_holder] -->    StockQuantity int NOT NULL DEFAULT 0,<!-- [et_pb_line_break_holder] -->    CategoryID int NULL,<!-- [et_pb_line_break_holder] -->    IsActive bit NOT NULL DEFAULT 1,<!-- [et_pb_line_break_holder] -->    CreatedAt datetime2 NOT NULL DEFAULT GETDATE()<!-- [et_pb_line_break_holder] -->);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->CREATE TABLE OrderItems (<!-- [et_pb_line_break_holder] -->    OrderItemID int IDENTITY(1,1) PRIMARY KEY,<!-- [et_pb_line_break_holder] -->    OrderID int NOT NULL,<!-- [et_pb_line_break_holder] -->    ProductID int NOT NULL,<!-- [et_pb_line_break_holder] -->    Quantity int NOT NULL DEFAULT 1,<!-- [et_pb_line_break_holder] -->    UnitPrice decimal(10,2) NOT NULL,<!-- [et_pb_line_break_holder] -->    Discount decimal(5,2) NULL DEFAULT 0,<!-- [et_pb_line_break_holder] -->    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID),<!-- [et_pb_line_break_holder] -->    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)<!-- [et_pb_line_break_holder] -->);`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.getElementById('sqlScript').value = sampleScript;<!-- [et_pb_line_break_holder] -->    document.getElementById('dbName').value = 'ECommerceDB';<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->function exportDocumentation() {<!-- [et_pb_line_break_holder] -->    const docContent = document.getElementById('documentation').innerHTML;<!-- [et_pb_line_break_holder] -->    const dbName = document.getElementById('dbName').value || 'DatabaseDocumentation';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const fullHTML = `<!DOCTYPE html><!-- [et_pb_line_break_holder] --><html lang=\"es\"><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->    <meta charset=\"UTF-8\"><!-- [et_pb_line_break_holder] -->    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><!-- [et_pb_line_break_holder] -->    <title>Documentaci\u00f3n - ${dbName}<\/title><!-- [et_pb_line_break_holder] -->    <\/p>\n<style><!-- [et_pb_line_break_holder] -->        body { font-family: Arial, sans-serif; margin: 20px; background: #f8f9fa; }<!-- [et_pb_line_break_holder] -->        .documentation { background: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }<!-- [et_pb_line_break_holder] -->        .doc-header { background: linear-gradient(135deg, #2e0e36, #7c4d8a); color: #fff; padding: 25px; border-radius: 10px 10px 0 0; }<!-- [et_pb_line_break_holder] -->        .creator-info a { color: #fff !important; text-decoration: underline; font-weight: 600; opacity: 0.9; transition: opacity 0.3s; } <!-- [et_pb_line_break_holder] -->        .creator-info a:hover { opacity: 1; text-decoration: underline; }<!-- [et_pb_line_break_holder] -->        .doc-content { padding: 25px; }<!-- [et_pb_line_break_holder] -->        .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 30px; }<!-- [et_pb_line_break_holder] -->        .stat-card { background: #f9f7fb; border: 1px solid #e5d8ee; border-radius: 8px; padding: 20px; text-align: center; }<!-- [et_pb_line_break_holder] -->        .stat-number { font-size: 2rem; font-weight: bold; color: #7c4d8a; display: block; }<!-- [et_pb_line_break_holder] -->        .stat-label { color: #6c757d; font-size: 14px; margin-top: 5px; }<!-- [et_pb_line_break_holder] -->        .table-section { margin-bottom: 40px; }<!-- [et_pb_line_break_holder] -->        .table-section h3 { color: #2e0e36; border-bottom: 2px solid #e5d8ee; }<!-- [et_pb_line_break_holder] -->        .table-info { background: #f9f7fb; border: 1px solid #e5d8ee; border-radius: 8px; overflow: hidden; margin-bottom: 20px; }<!-- [et_pb_line_break_holder] -->        .table-info-header { background: #ede3f2; color: #2e0e36; padding: 15px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }<!-- [et_pb_line_break_holder] -->        .table-info-body { padding: 15px; }<!-- [et_pb_line_break_holder] -->        .columns-table { width: 100%; border-collapse: collapse; margin-top: 15px; }<!-- [et_pb_line_break_holder] -->        .columns-table th { background: #2e0e36; color: #fff; padding: 12px; text-align: left; font-weight: 700; letter-spacing: 0.5px; }<!-- [et_pb_line_break_holder] -->        .columns-table td { padding: 10px 12px; border-bottom: 1px solid #e5d8ee; }<!-- [et_pb_line_break_holder] -->        .columns-table tr:nth-child(even) { background: #f7f3fa; }<!-- [et_pb_line_break_holder] -->        .badge { display: inline-block; padding: 4px 10px; border-radius: 4px; font-size: 12px; font-weight: 600; text-transform: uppercase; margin-right: 5px; letter-spacing: 0.5px; }<!-- [et_pb_line_break_holder] -->        .badge-primary { background: #7c4d8a; color: #fff; }<!-- [et_pb_line_break_holder] -->        .badge-nullable { background: #fbeee6; color: #2e0e36; }<!-- [et_pb_line_break_holder] -->        .badge-not-null { background: #e0f7e9; color: #2e0e36; }<!-- [et_pb_line_break_holder] -->        .alert { padding: 15px; border-radius: 8px; margin-bottom: 20px; }<!-- [et_pb_line_break_holder] -->        .alert-info { background: #e3eafc; border: 1px solid #b8daff; color: #2e0e36; }<!-- [et_pb_line_break_holder] -->    <\/style>\n<p><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"documentation\"><!-- [et_pb_line_break_holder] -->        ${docContent}<!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const blob = new Blob([fullHTML], { type: 'text\/html' });<!-- [et_pb_line_break_holder] -->    const url = URL.createObjectURL(blob);<!-- [et_pb_line_break_holder] -->    const a = document.createElement('a');<!-- [et_pb_line_break_holder] -->    a.href = url;<!-- [et_pb_line_break_holder] -->    a.download = `${dbName}_Documentation.html`;<!-- [et_pb_line_break_holder] -->    document.body.appendChild(a);<!-- [et_pb_line_break_holder] -->    a.click();<!-- [et_pb_line_break_holder] -->    document.body.removeChild(a);<!-- [et_pb_line_break_holder] -->    URL.revokeObjectURL(url);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ Auto-generar documentaci\u00f3n al cargar si hay contenido de ejemplo<!-- [et_pb_line_break_holder] -->document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->    const script = document.getElementById('sqlScript').value;<!-- [et_pb_line_break_holder] -->    if (script.trim()) {<!-- [et_pb_line_break_holder] -->        setTimeout(() => {<!-- [et_pb_line_break_holder] -->          \tupdateUILanguage()<!-- [et_pb_line_break_holder] -->            generateDocumentation(true);<!-- [et_pb_line_break_holder] -->        }, 500);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb da_disable_devices=\u00bboff|off|off\u00bb global_colors_info=\u00bb{}\u00bb da_is_popup=\u00bboff\u00bb da_exit_intent=\u00bboff\u00bb da_has_close=\u00bbon\u00bb da_alt_close=\u00bboff\u00bb da_dark_close=\u00bboff\u00bb da_not_modal=\u00bbon\u00bb da_is_singular=\u00bboff\u00bb da_with_loader=\u00bboff\u00bb da_has_shadow=\u00bbon\u00bb][et_pb_row _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<blockquote>\n<p>If you liked the <strong>SQL Server Doc PRO tool <\/strong>by HakoIT<strong>, follow us on Instagram <a href=\"https:\/\/www.instagram.com\/hako.it\/\" target=\"_blank\" rel=\"noopener\">@hako_it<\/a><\/strong><\/p>\n<\/blockquote>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbQu\u00e9 es\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>What is SQL Server Doc Pro Generator?<\/h2>\n<p><strong>SQL Server Doc Pro Generator<\/strong> is an online tool that analyzes your SQL script and creates a visual report featuring:<\/p>\n<ul>\n<li>Table and column structures<\/li>\n<li>Data types and default values<\/li>\n<li>Primary and foreign keys<\/li>\n<li>Relationships between tables<\/li>\n<li>Share-ready HTML export<\/li>\n<\/ul>\n<p>It works directly in your browser\u2014no installation needed\u2014and is available in both Spanish and English.<\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbventajas\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Advantages of Automatically Documenting Your Database<\/h2>\n<ul>\n<li><strong>Time-saving:<\/strong> Generate documentation in seconds.<\/li>\n<li><strong>Fewer errors:<\/strong> Information is extracted directly from the script.<\/li>\n<li><strong>Professional format:<\/strong> Perfect for audits, onboarding, and migrations.<\/li>\n<li><strong>Accessible:<\/strong> Available in both Spanish and English.<\/li>\n<li><strong>Improved collaboration:<\/strong> Development and analyst teams access the same structured information.<\/li>\n<li><strong>Accuracy:<\/strong> Avoids errors common in manual documentation.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbC\u00f3mo Usar\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>How to Use SQL Server Doc Pro Generator<\/h2>\n<ol>\n<li>Paste your<code>CREATE TABLE<\/code> script into the designated field.<\/li>\n<li>Click on <strong>Generate Documentation.<\/strong><\/li>\n<li>Review the detected tables, columns, and relationships.<\/li>\n<li>Export the report as HTML to share or archive.<\/li>\n<\/ol>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00bb1_5,3_5,1_5&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][et_pb_column type=\u00bb3_5&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2 style=\"text-align: center;\">Example of Documenting a SQL Server Database:<\/h2>\n<p>[\/et_pb_text][et_pb_image src=\u00bbhttps:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/generate-sql-server-documentation.jpg\u00bb alt=\u00bbgenerate sql server documentation\u00bb title_text=\u00bbgenerate sql server documentation\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.16&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbPrincipales Funcionalidadas\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Key Features<\/h2>\n<h3>1. Instant Documentation<\/h3>\n<p>Paste your <code>CREATE TABLE<\/code> script and get a visual report of your database structure.<\/p>\n<ul>\n<li>Smart parser for SQL Server CREATE TABLE scripts<\/li>\n<li>Automatic detection of columns, data types, constraints, PKs, and FKs<\/li>\n<li>Instant generation of professional documentation<\/li>\n<li>Export to a standalone HTML file<\/li>\n<\/ul>\n<h3>2. Comprehensive Analysis<\/h3>\n<p>Includes statistics such as total number of tables, columns, and relationships.<\/p>\n<h3>3. Relationship Detection<\/h3>\n<p>Identifies foreign keys and displays connections between tables.<\/p>\n<h3>4. HTML Export<\/h3>\n<p>Generates a file ready to send or integrate into your technical documentation.<\/p>\n<h3>5. Multi-language Support<\/h3>\n<p>Switch between Spanish and English with a single click.<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbcasos de uso\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Recommended Use Cases<\/h2>\n<ul>\n<li>Technical documentation for audits<\/li>\n<li>Onboarding new developers<\/li>\n<li>Academic projects<\/li>\n<li>Migration preparation<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Enhanced Robust Parser<\/h2>\n<ul>\n<li><strong>Handles brackets<\/strong> like <code>[dbo].[TableName]<\/code><\/li>\n<li><strong>Supports complex data types<\/strong> such as <code>sysname<\/code>, <code>nvarchar(max)<\/code>, <code>xml<\/code><\/li>\n<li><strong>Recognizes <code>IDENTITY<\/code> with parameters<\/strong> like <code>IDENTITY(1,1)<\/code><\/li>\n<li><strong>Processes constraints<\/strong> with names, e.g., <code>CONSTRAINT [DF_Name] DEFAULT<\/code><\/li>\n<li>Properly <strong>ignores SQL comments<\/strong> (<code>--<\/code> and <code>\/* *\/<\/code>)<\/li>\n<li><strong>Processes <code>GO<\/code><\/strong> batches individually<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00bb1_4,1_2,1_4&#8243; _builder_version=\u00bb4.18.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_4&#8243; _builder_version=\u00bb4.18.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][et_pb_column type=\u00bb1_2&#8243; _builder_version=\u00bb4.18.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/sql-server-documentation-pro.jpg\u00bb alt=\u00bbsql server documentation pro\u00bb title_text=\u00bbsql server documentation pro\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00bb1_4&#8243; _builder_version=\u00bb4.18.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.25.1&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbPreguntas Frecuentes (FAQ)\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<div>\n<p><span style=\"color: #333333; font-size: 26px;\">Frequently Asked Questions (FAQ) &#8211; SQL Doc Pro<\/span><\/p>\n<\/div>\n<h3>Is it compatible with all SQL Server versions?<\/h3>\n<p>Yes, as long as the script uses standard <code>CREATE TABLE<\/code> syntax.<\/p>\n<h3>Can I document views or stored procedures?<\/h3>\n<p>In this version, only tables and relationships are documented. The premium version will add support for other objects.<\/p>\n<h3>Is the exported HTML editable?<\/h3>\n<p>Yes, you can edit the exported file in any text or HTML editor.<\/p>\n<p>[\/et_pb_text][et_pb_code admin_label=\u00bbfaq google\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<html><!-- [et_pb_line_break_holder] -->  <head><!-- [et_pb_line_break_holder] -->    <title>SQL Doc Pro &#8211; Frequently Asked Questions (FAQ)<\/title><!-- [et_pb_line_break_holder] -->    <script type=\"application\/ld+json\"><!-- [et_pb_line_break_holder] -->    {<!-- [et_pb_line_break_holder] -->      \"@context\": \"https:\/\/schema.org\",<!-- [et_pb_line_break_holder] -->      \"@type\": \"FAQPage\",<!-- [et_pb_line_break_holder] -->      \"mainEntity\": [{<!-- [et_pb_line_break_holder] -->        \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->        \"name\": \"Is it compatible with all SQL Server versions?\",<!-- [et_pb_line_break_holder] -->        \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->          \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->          \"text\": \"Yes, as long as the script uses standard CREATE TABLE syntax.\"<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }, {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->        \"name\": \"Can I document views or stored procedures?\",<!-- [et_pb_line_break_holder] -->        \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->          \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->          \"text\": \"In this version, only tables and relationships are documented. The premium version will add support for other objects.\"<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }, {<!-- [et_pb_line_break_holder] -->        \"@type\": \"Question\",<!-- [et_pb_line_break_holder] -->        \"name\": \"Is the exported HTML editable?\",<!-- [et_pb_line_break_holder] -->        \"acceptedAnswer\": {<!-- [et_pb_line_break_holder] -->          \"@type\": \"Answer\",<!-- [et_pb_line_break_holder] -->          \"text\": \"Yes, you can edit the exported file in any text or HTML editor.\"<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }]<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <\/script><!-- [et_pb_line_break_holder] -->  <\/head><!-- [et_pb_line_break_holder] -->  <body><!-- [et_pb_line_break_holder] -->  <\/body><!-- [et_pb_line_break_holder] --><\/html><!-- [et_pb_line_break_holder] -->[\/et_pb_code][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>\ud83d\udd25 Ready to give it a try?<\/h2>\n<p>Paste your SQL Script above and instantly generate SQL documentation.<\/p>\n<blockquote>\n<p>\ud83d\udcf2 Follow us on Instagram for updates and new free tools! \u2192 <a href=\"https:\/\/www.instagram.com\/hako_it\/\" target=\"_blank\" rel=\"noopener nofollow\">@hako_it<\/a><\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_text admin_label=\u00bbBuenas pr\u00e1cticas\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Best Practices to Keep Your Documentation Up to Date<\/h2>\n<ul>\n<li><strong>Include comments in your T-SQL code<\/strong> to explain the logic behind views, stored procedures, and functions.<\/li>\n<li><strong>Always update the documentation<\/strong> whenever you modify the database schema or objects.<\/li>\n<\/ul>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h2>Conclusions:<\/h2>\n<p>If you work with <strong>SQL Server<\/strong> and need to document your database structure, <strong>SQL Server Doc Pro Generator<\/strong> is the fastest and most reliable way to do it.<\/p>\n<p>Try it now and turn your script into professional documentation in seconds.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00bb1_5,1_5,1_5,1_5,1_5&#8243; make_equal=\u00bbon\u00bb admin_label=\u00bbAutor Facu\u00bb _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/www.hakoit.com\/wp-content\/uploads\/2023\/03\/Facundo-Capdevila-200.png\u00bb alt=\u00bbFacundo Capdevila\u00bb title_text=\u00bbFacundo Capdevila\u00bb align=\u00bbcenter\u00bb _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb header_3_font=\u00bb|||||on|||\u00bb header_3_text_align=\u00bbcenter\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<h3 style=\"text-align: center;\">Facundo Capdevila<\/h3>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][et_pb_column type=\u00bb1_5&#8243; _builder_version=\u00bb4.19.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_image src=\u00bbhttps:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/06\/professional-website-services-1080.jpg\u00bb alt=\u00bbprofessional website services\u00bb title_text=\u00bbprofessional website services\u00bb url=\u00bbhttps:\/\/www.hakoit.com\/en\/your-business-online\/\u00bb url_new_window=\u00bbon\u00bb align=\u00bbcenter\u00bb admin_label=\u00bbwebsite Hako 1080 EN\u00bb _builder_version=\u00bb4.27.4&#8243; _module_preset=\u00bbdefault\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server Documentation Generator \u2013 Turn Your Script into Professional Documents Documenting SQL Server databases is essential for maintenance, auditing, and team collaboration. However, creating documentation manually is time-consuming and prone to errors. With SQL Server Doc PRO, you can automatically generate professional documentation from your\u00a0CREATE TABLE\u00a0scripts in seconds, with zero errors. Instantly create professional [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":38234,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-37533","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT<\/title>\n<meta name=\"description\" content=\"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT\" \/>\n<meta property=\"og:description\" content=\"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Hako IT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hakoit\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-31T10:11:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/document-sql-server-database-tool.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@Hako_it\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/\",\"url\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/\",\"name\":\"SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hakoit.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/document-sql-server-database-tool.jpg\",\"datePublished\":\"2025-08-12T14:18:29+00:00\",\"dateModified\":\"2025-10-31T10:11:43+00:00\",\"description\":\"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hakoit.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/document-sql-server-database-tool.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hakoit.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/document-sql-server-database-tool.jpg\",\"width\":1080,\"height\":675,\"caption\":\"document sql server database tool\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/en\\\/sql-server-documentation-generator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.hakoit.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server Documentation Generator | SQL Server Doc Pro\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#website\",\"url\":\"https:\\\/\\\/www.hakoit.com\\\/\",\"name\":\"Hako IT\",\"description\":\"Soluciones de Software: Desarrollo - Consultor\u00eda de IT - Analytics -Marketing Digital. \u2713 Proponemos soluciones\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hakoit.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#organization\",\"name\":\"Hako IT\",\"url\":\"https:\\\/\\\/www.hakoit.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hakoit.com\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Hako-Consultori\u0301a-1.png\",\"contentUrl\":\"https:\\\/\\\/www.hakoit.com\\\/wp-content\\\/uploads\\\/2019\\\/02\\\/Hako-Consultori\u0301a-1.png\",\"width\":597,\"height\":584,\"caption\":\"Hako IT\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hakoit.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hakoit\\\/\",\"https:\\\/\\\/x.com\\\/Hako_it\",\"https:\\\/\\\/www.instagram.com\\\/hako_it\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@hako-it\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT","description":"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/","og_locale":"es_ES","og_type":"article","og_title":"SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT","og_description":"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.","og_url":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/","og_site_name":"Hako IT","article_publisher":"https:\/\/www.facebook.com\/hakoit\/","article_modified_time":"2025-10-31T10:11:43+00:00","og_image":[{"width":1080,"height":675,"url":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/document-sql-server-database-tool.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@Hako_it","twitter_misc":{"Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/","url":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/","name":"SQL Server Documentation Generator | SQL Server Doc Pro - Hako IT","isPartOf":{"@id":"https:\/\/www.hakoit.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/#primaryimage"},"image":{"@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/document-sql-server-database-tool.jpg","datePublished":"2025-08-12T14:18:29+00:00","dateModified":"2025-10-31T10:11:43+00:00","description":"Create SQL Server database documentation in seconds. Instantly turn your CREATE TABLE scripts into professional, shareable HTML manuals.","breadcrumb":{"@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/#primaryimage","url":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/document-sql-server-database-tool.jpg","contentUrl":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2025\/08\/document-sql-server-database-tool.jpg","width":1080,"height":675,"caption":"document sql server database tool"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hakoit.com\/en\/sql-server-documentation-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.hakoit.com\/"},{"@type":"ListItem","position":2,"name":"SQL Server Documentation Generator | SQL Server Doc Pro"}]},{"@type":"WebSite","@id":"https:\/\/www.hakoit.com\/#website","url":"https:\/\/www.hakoit.com\/","name":"Hako IT","description":"Soluciones de Software: Desarrollo - Consultor\u00eda de IT - Analytics -Marketing Digital. \u2713 Proponemos soluciones","publisher":{"@id":"https:\/\/www.hakoit.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hakoit.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.hakoit.com\/#organization","name":"Hako IT","url":"https:\/\/www.hakoit.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.hakoit.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2019\/02\/Hako-Consultori\u0301a-1.png","contentUrl":"https:\/\/www.hakoit.com\/wp-content\/uploads\/2019\/02\/Hako-Consultori\u0301a-1.png","width":597,"height":584,"caption":"Hako IT"},"image":{"@id":"https:\/\/www.hakoit.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hakoit\/","https:\/\/x.com\/Hako_it","https:\/\/www.instagram.com\/hako_it\/","https:\/\/www.youtube.com\/@hako-it"]}]}},"_links":{"self":[{"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/pages\/37533","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/comments?post=37533"}],"version-history":[{"count":1,"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/pages\/37533\/revisions"}],"predecessor-version":[{"id":39227,"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/pages\/37533\/revisions\/39227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/media\/38234"}],"wp:attachment":[{"href":"https:\/\/www.hakoit.com\/hako-api\/wp\/v2\/media?parent=37533"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}