读书人

多行的sql怎么写在一行里

发布时间: 2012-09-21 15:47:26 作者: rapoo

多行的sql如何写在一行里?

SQL code
USE [master]GOALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY SIMPLE   --简单模式GOUSE asgfw#db GODBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY)GOUSE [master]GOALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY FULL  --还原为完全模式GO

代码如上,我在做vb.exe的文件,想点击按钮后直接删除日志

[解决办法]
SQL code
-- 创建一个存储过程就行了create proc delasUSE [master]GOALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY SIMPLE   --简单模式GOUSE asgfw#db GODBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY)GOUSE [master]GOALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY FULL  --还原为完全模式GOGo--上面就建好的存储过程exec del --执行存储过程
[解决办法]
SQL code
-- 先创建一个存储过程create proc delasALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY SIMPLE   --简单模式GOALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY FULL  --还原为完全模式GOGo--上面是存储过程--如果asgfw#db也是一个数据库的话,然后再做一个触发器--触发器我不太会,就是当执行上面的存储过程后 就 触发这触发器 去执行/*USE asgfw#db GODBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY)GO*/ exec del --执行存储过程
[解决办法]
当然不用触发器也行
SQL code
USE [master]GOcreate proc deloneasALTER DATABASE asgfw#db SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY SIMPLE   --简单模式GOALTER DATABASE asgfw#db SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE asgfw#db SET RECOVERY FULL  --还原为完全模式GO--这上面为一个存储过程USE asgfw#dbGOcreate proc deltwoASDBCC SHRINKFILE (N'asgfw#db_Log' , 11, TRUNCATEONLY)GO--这也是一个存储过程,然后把这2个存储整合到一个里面USE 你要作用到的数据库GOcreate proc delthreeasexec deloneexec deltwoGO--然后执行存储过程exec delthree-- 这就实现了 你的要求 

读书人网 >SQL Server

热点推荐