PL/SQL程序中不能直接执行DDL语句.为什么? 假设我们在pl/sql程序中有这样的一条DDL语句—— drop table emp:在第一次解析pl/sql中的“drop table emp;”这条语句时,emp表存在,我们假设编译成功并执行(事实上pl/sql中直接使用DDL是不能通过的).但第二次解析的时候,发现emp不存在(已经被删除了),编译不通过——出现错误. PL/SQL中直接执行DDL报错: SQL> BEGIN 2 drop table emp; 3 END
SQL有定时执行的语句WaitFor. 语法格式:waitfor {delay 'time'|time 'time'} delay后面的时间是需要延迟多长时间后执行. time后面的时间是指定何时执行,格式为'HH:MM:SS',不支持日期 例: --指定10:00执行 Begin waitfor time '10:00' select * from tablename end --指定等待1小时后执行 begin waitfor delay '1:00' select * from t
目的: 使用SQL语句,在D盘创建一个文件夹myfile 首先查询系统配置 SELECT * FROM sys.configurations WHERE name='xp_cmdshell' OR name='show advanced options' GO 可以看到他们的值为0,无法配置 打开系统配置: USE master GORECONFIGURE --先执行一次刷新,处理上次的配置GO EXEC sp_configure --启用xp_cmdshell的高级配置 GO RECONFIG
目的:使用SQL语句,在D盘创建一个文件夹myfile 首先查询系统配置 SELECT * FROM sys.configurations WHERE name='xp_cmdshell' OR name='show advanced options' GO 可以看到他们的值为0,无法配置 打开系统配置: USE master GO RECONFIGURE --先执行一次刷新,处理上次的配置 GO --启用xp_cmdshell的高级配置 GO RECONFIGURE --刷新配置 GO --打
ALTER FUNCTION [reg].[f_GetSameStringCntNoSort] ( @str1 VARCHAR(),--源字符串,取该串中的@strLen长度的字符是否在目的字符串 @str2 VARCHAR() --目的字符串 ) RETURNS INT AS BEGIN -- 返回的长度 DECLARE @count INT DECLARE @returnValue INT --初使化返回值 DECLARE @tempStr NVARCHAR() SET @count=LEN