xml地图|网站地图|网站标签 [设为首页] [加入收藏]
sql中datetime转换成varchar字符型多种方法,SQL触发
分类:数据库

文章来自一篇国外的网站讲述了sql中datetime日期时间类型转换成varchar字符类型的方法,有需要的朋友可以参考一下下哈。

在 IIS7 中,配置 SQL Server 的集成验证步骤比较多,下面将配置的步骤列出,以方便学习。

SQL触发器:当改变数据表的记录时,绑定在SQL语句中的触发器能够触发某些事件或者函数,所以我们可以在触发器中编写一些处理语句。

写了这个小桌面程序,以帮助我记得是什么风格112没有,或如何得到HH:MM AM / PM一个DATETIME列。基本上,它是有效的样式编号填充一个表,然后通过这些循环,并产生每个样式的结果,鉴于当前的日期和时间。是的,它使用游标。这是一个辅助功能,不是你会使用生产环境中的一部分,所以我不认为对性能的影响应该是一个大问题。但如果你有

首先,需要确认网站所使用的应用程序池。打开网站的基本设置对话框。检查应用程序池的配置参数。

比如,当我们删除新闻类别的时候,由于外键的原因,我们无法删除新闻类别下有新闻内容的记录,但是通过触发器,我们就可以实现。

代码如下复制代码

然后,在应用程序池中,找到对应的应用程序池,并选择高级配置。

代码如下复制代码

USE tempdb; GO CREATE PROCEDURE dbo.help_DateTimeFormats @styleID TINYINT = NULL AS BEGIN SET NOCOUNT ON; IF OBJECTPROPERTY ( OBJECT_ID('dbo.DateTimeFormats'), 'IsUserTable' ) = 1 BEGIN DROP TABLE dbo.DateTimeFormats; END CREATE TABLE dbo.DateTimeFormats ( styleID TINYINT PRIMARY KEY, outputLength TINYINT, outputSyntax VARCHAR(64), outputSample VARCHAR(255) ); INSERT dbo.DateTimeFormats(styleID, outputLength) SELECT style = 0, outputLength = 19 UNION SELECT 1, 8 UNION SELECT 2, 8 UNION SELECT 3, 8 UNION SELECT 4, 8 UNION SELECT 5, 8 UNION SELECT 6, 9 UNION SELECT 7, 10 UNION SELECT 8, 8 UNION SELECT 9, 26 UNION SELECT 10, 8 UNION SELECT 11, 8 UNION SELECT 12, 6 UNION SELECT 13, 24 UNION SELECT 14, 12 UNION SELECT 20, 19 UNION SELECT 21, 23 UNION SELECT 22, 20 UNION SELECT 23, 10 UNION SELECT 24, 8 UNION SELECT 25, 23 UNION SELECT 100, 19 UNION SELECT 101, 10 UNION SELECT 102, 10 UNION SELECT 103, 10 UNION SELECT 104, 10 UNION SELECT 105, 10 UNION SELECT 106, 11 UNION SELECT 107, 12 UNION SELECT 108, 8 UNION SELECT 109, 26 UNION SELECT 110, 10 UNION SELECT 111, 10 UNION SELECT 112, 8 UNION SELECT 113, 24 UNION SELECT 114, 12 UNION SELECT 120, 19 UNION SELECT 121, 23 UNION SELECT 126, 23 UNION SELECT 130, 32 UNION SELECT 131, 25; IF CHARINDEX('SQL Server 2005', @@VERSION) 0 INSERT dbo.DateTimeFormats(styleID, outputLength) SELECT 127, 23; -- 127 is new in 2005 UPDATE dbo.DateTimeFormats SET outputSyntax = 'CONVERT(CHAR(' + RTRIM(outputLength) + '), CURRENT_TIMESTAMP, ' + RTRIM(styleID) + ')'; DECLARE @sql VARCHAR(1024), @style TINYINT, @syntax VARCHAR(64); DECLARE c CURSOR LOCAL FORWARD_ONLY STATIC READ_ONLY FOR SELECT styleID, outputSyntax FROM dbo.DateTimeFormats; OPEN c; FETCH NEXT FROM c INTO @style, @syntax; WHILE (@@FETCH_STATUS = 0) BEGIN SET @sql = 'UPDATE dbo.DateTimeFormats SET outputSample = ' + @syntax + ' WHERE styleID = '

在标识中,选择网络服务 NewworkService。

delete from category where id=5 --sql删除语句

  • RTRIM(@style) + ';'; EXEC(@sql); FETCH NEXT FROM c INTO @style, @syntax; END CLOSE c; DEALLOCATE c; SELECT styleID, outputSample, outputSyntax FROM dbo.DateTimeFormats WHERE styleID = COALESCE(@styleID, styleID); DROP TABLE dbo.DateTimeFormats; END GO EXEC dbo.help_DateTimeFormats; EXEC dbo.help_DateTimeFormats @styleID = 112; -- DROP PROCEDURE dbo.help_DateTimeFormats;

现在,回到 SQL Server,在 安全性,登录名中,增加一个新的登录。

create trigger trigcategorydelete --当执行sql删除语句时,执行触发器

The output should look like this:

点击搜索,将会弹出选择用户或组的对话框。

on category

0

点击左下角的高级按钮。

after delete

Feb 22 2006 4:26PMCONVERT(CHAR(19), CURRENT_TIMESTAMP, 0)

直接点击立即查找。

as

102/22/06CONVERT(CHAR(8), CURRENT_TIMESTAMP, 1)

在列出的用户中找到 Network Service 用户,选中并确定。

begin

206.02.22CONVERT(CHAR(8), CURRENT_TIMESTAMP, 2)

再次确定后,回到新建登录界面,现在登录名中已经出现了网络用户。

delete news where caId=(select id from deleted) --删除对应新闻类别的新闻内容

322/02/06CONVERT(CHAR(8), CURRENT_TIMESTAMP, 3)

点击左边的用户映射,为用户配置访问数据库教程的权限。

end

422.02.06CONVERT(CHAR(8), CURRENT_TIMESTAMP, 4)

这里配置为 db_owner 角色,以保证权限。

照一般的思维,这样就可以同时删除新闻类别和其下的新闻内容,但是这样执行却不成功。是因为关键字AFTER,AFTER表示在执行SQL删除语句后,再执行触发器里的语句。这样一来,顺序同样是先删除新闻再删除新闻内容,肯定不成功。

522-02-06CONVERT(CHAR(8), CURRENT_TIMESTAMP, 5)

改变关键字after为instead of

622 Feb 06CONVERT(CHAR(9), CURRENT_TIMESTAMP, 6)

instead of,表示代替delete操作,而没有真正delete from category where id=5,当category表的删除时,同时触发了trigcategorydelete触发器,但是由于有instead of关键字,所以本身并不执行删除操作,而是执行触发器里的sql语句,从而可以替代之前的SQL语句。比如:

7Feb 22, 06CONVERT(CHAR(10), CURRENT_TIMESTAMP, 7)

代码如下复制代码

816:26:08CONVERT(CHAR(8), CURRENT_TIMESTAMP, 8)

create trigger trigcategorydelete

9Feb 22 2006 4:26:08:020PMCONVERT(CHAR(26), CURRENT_TIMESTAMP, 9)

on category

本文由澳门新葡亰手机版发布于数据库,转载请注明出处:sql中datetime转换成varchar字符型多种方法,SQL触发

上一篇:SQl事务用法,按大小排序的方法澳门新葡亰手机 下一篇:jdbc连接mssql数据库实现方法,Server的MDF文件的方
猜你喜欢
热门排行
精彩图文