lcConnectionStr = "DRIVER={SQL Server};" +; "SERVER=KJ4IM;"+; "DATABASE=northwind;" +; "UID=sa;" +; "PW=" lnHandle = SQLSTRINGCONNECT(lcConnectionStr) IF lnHandle > 0 RetrieveSqlScripts() BROWSE ENDIF ************************************************ PROCEDURE RetrieveSqlScripts ************************************************ * Author............: Daniel Gramunt * Created...........: 09.01.2003 - 10:19:37 (Visual FoxPro 07.00.0000.9465) * Copyright.........: (c) Nokia, 2003 *) Description.......: * Calling Samples...: * Parameter List....: * Major change list.: *-------------------------------------------------------------------------------------------------- LOCAL lcTempCursor, lcSql lcTempCursor = SYS(2015) sqlExec(lnHandle, ; "SELECT NAME," +; " XTYPE," +; " CRDATE," +; " TYPE," +; " REFDATE, "+; " CAST('' AS varchar(256) ) AS mSql"+; " FROM SysObjects so "+; " WHERE xType IN ('TR', 'P', 'FN', 'V')"+; && Triggers, SPROCs, UDFs and Views " AND OBJECT_ID(so.name) IS NOT NULL" +; " AND so.id IN (SELECT id FROM SysComments) ORDER BY name",; lcTempCursor ; ) *-- scan through objects and retrieve T-SQL scripts SCAN WAIT WINDOW NOWAIT "Retrieving T-SQL scripts for database objects " +; "Processing object '" + ALLTRIM(name) + "' "+; ALLTRIM(STR(RECNO())) +; " of " +; ALLTRIM(STR(RECCOUNT())) +; "..." lcSql = "" *-- get T-SQL script IF SQLEXEC(lnHandle, "EXEC sp_helptext '" + ALLTRIM(name) + "'") > 0 *-- We may have more than one record. *-- Scan through SPT cursor and assemble T-SQL code SCAN *-- remove CHR(0) lcSql = lcSql + CHRTRAN(text , CHR(0), "") ENDSCAN ENDIF *-- update result cursor REPLACE mSql WITH mSql + lcSql IN (lcTempCursor) ENDSCANHTH