פיתוח תוכנה ובניית אתרים תוכנה לעסקים






פיתוח תוכנה ובניית אתרי אינטרנט
תוכנות לעסקים פיתוח תוכנה ובניית אתרים
התחברות לקוחות
כניסת לקוחות

 
 
כניסת לקוחות

  שכחת את הסיסמה?
תוכנות לדוגמא



 
חברת PC GROUP מתמחה במתן פתרונות מיחשוב מתקדמים לעסקים ולפרטיים. פיתוח תוכנות תפורות ומותאמות לעסקים שונים. בניית אתרי תדמית, אתרי מכירות, אתרים פנימיים לניהול עסק ותחזוקת מערכות מחשבים בעסק. אנו מתמסרים ללקוחותינו ומשתדלים בכל כוחנו לספק את המוצר הטוב ביותר במחירים הוגנים.
יצירת קשר מידע על תוכנה 052-663-5054
PC GROUP
  ניתן ליצור קשר בטלפון בין השעות 19:00 - 8:00
מעבר לשעות הנ"ל ניתן ליצור קשר דרך האתר

  טופס יצירת קשר dot   כתובת מייל dot   קבל הצעת מחיר dot
מחשבמידע על תוכנה

Alter table valued parameter table type
 
I've found a [blog on sqltreeo.com](http://www.sqltreeo.com/wp/scripting-dependecies-of-user-defined-table-types/) which has a way to automate the process by temporary dropping the dependencies and then re-creating them. I just added a minor comment to show where to add your new table type and wrapped it in a transaction.

1.You should create the following procedure:

    -- Find all referencing objects to user-defined table type in @fullObjectName parameter
    -- and generate DROP scripts and CREATE scripts for them
    CREATE PROC [dbo].[alterTableType] (@fullObjectName VARCHAR(200))
    AS
    BEGIN
        SET NOCOUNT ON
    
        IF (TYPE_ID (@fullObjectName) IS NULL)
        BEGIN
            RAISERROR ('User-defined table type ''%s'' does not exists. Include full object name with schema.', 16,1, @fullObjectName)
            RETURN
        END;
    
        WITH sources
        AS
        (
            SELECT ROW_NUMBER() OVER (ORDER BY OBJECT_NAME(m.object_id)) RowId, definition
            FROM sys.sql_expression_dependencies d
            JOIN sys.sql_modules m ON m.object_id = d.referencing_id
            JOIN sys.objects o ON o.object_id = m.object_id
            WHERE referenced_id = TYPE_ID(@fullObjectName)
        )
    SELECT 'BEGIN TRANSACTION'
    UNION ALL
        SELECT 
    
            'DROP ' +
                CASE OBJECTPROPERTY(referencing_id, 'IsProcedure')
                WHEN 1 THEN 'PROC '
                ELSE
                    CASE
                        WHEN OBJECTPROPERTY(referencing_id, 'IsScalarFunction') = 1 OR OBJECTPROPERTY(referencing_id, 'IsTableFunction') = 1 OR OBJECTPROPERTY(referencing_id, 'IsInlineFunction') = 1 THEN 'FUNCTION '
                        ELSE ''
                    END
                END
            + SCHEMA_NAME(o.schema_id) + '.' +
            + OBJECT_NAME(m.object_id)    
    
        FROM sys.sql_expression_dependencies d
        JOIN sys.sql_modules m ON m.object_id = d.referencing_id
        JOIN sys.objects o ON o.object_id = m.object_id
        WHERE referenced_id = TYPE_ID(@fullObjectName)
        UNION  ALL
        SELECT  'GO'
    UNION ALL
    SELECT CHAR(13) + CHAR(10) + '---- WRITE HERE SCRIPT TO DROP OLD USER DEFINED TABLE TYPE AND CREATE A NEW ONE ----' + CHAR(13) + CHAR(10)
        UNION  ALL
        SELECT
            CASE
                WHEN number = RowId    THEN DEFINITION
                ELSE 'GO'
            END
         FROM sources s
        JOIN (SELECT DISTINCT number FROM master.dbo.spt_values) n ON n.number BETWEEN RowId AND RowId+1
    UNION ALL
    SELECT 'COMMIT'
    END

2.Then you should run it with your table type name as a input parameter. Show the results on grid format (because text format might truncate long texts), select entire result table and copy it to a new query window.



Post a comment
Your name:

Your comment:


 

מידע על תוכנה
מידע על תוכנה
בית תוכנה לעסקים ולפרטיים