| 1 | <?php |
||
| 7 | class Sqlsrv implements TableDropper |
||
| 8 | { |
||
| 9 | private $constraintDropScript = ' |
||
| 10 | DECLARE @Sql NVARCHAR(500) DECLARE @Cursor CURSOR |
||
| 11 | SET @Cursor = CURSOR FAST_FORWARD FOR |
||
| 12 | SELECT DISTINCT sql = \'ALTER TABLE [\'+tc2.CONSTRAINT_SCHEMA+\'].[\' + tc2.TABLE_NAME + \'] DROP [\' + rc1.CONSTRAINT_NAME + \']\' |
||
| 13 | FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc1 |
||
| 14 | LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc2 ON tc2.CONSTRAINT_NAME =rc1.CONSTRAINT_NAME |
||
| 15 | |||
| 16 | OPEN @Cursor FETCH NEXT FROM @Cursor INTO @Sql |
||
| 17 | |||
| 18 | WHILE (@@FETCH_STATUS = 0) |
||
| 19 | BEGIN |
||
| 20 | PRINT @Sql |
||
| 21 | Exec (@Sql) |
||
| 22 | FETCH NEXT FROM @Cursor INTO @Sql |
||
| 23 | END |
||
| 24 | |||
| 25 | CLOSE @Cursor DEALLOCATE @Cursor'; |
||
| 26 | |||
| 27 | public function dropAllTables() |
||
| 32 | } |
||
| 33 |