DECLARE @username varchar(20) DECLARE cursor_name CURSOR FAST_FORWARD FOR --定义游标 SELECT TOP 10 Username FROM S_user_tb OPEN cursor_name --打开游标 FETCH NEXT FROM cursor_name INTO @username --抓取下一行游标数据 WHILE @@FETCH_STATUS = 0 BEGIN PRINT '用户名:'+@username FETCH NEXT FROM cursor_name INTO @username END CLOSE cursor_name --关闭游标 DEALLOCATE cursor_name --释放游标
SELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON A.id = B.id WHERE A.xtype = 'U'AND B.indid IN(0,1) ORDERBY B.ROWS DESC
当前帐户被锁定
帐户当前被锁定,所以用户 ‘sa’ 登录失败。系统管理员无法将该帐户解锁’解决方法
如果短时间内不停连接,就会被SQL SERVER误认为是这是攻击,会将此账号锁定。
要用windows身份验证登录,在查询分析器里输入:
1 2 3 4 5
ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITHPASSWORD = 'password'unlock, check_policy = off, check_expiration = off ; GO
查某个表的所有字段
1 2 3 4 5 6 7 8 9 10 11 12 13 14
SELECTGROUP_CONCAT(col.COLUMN_NAME) FROM information_schema.COLUMNS col WHERE col.TABLE_SCHEMA = 'mysql' AND col.TABLE_NAME = 'user' AND COLUMN_NAME NOTIN ('created_at', 'updated_at') INTO @cols;
-- select @cols
SET @s = CONCAT('SELECT ', @cols, ' FROM mysql.user');
select @s
SQLServer 中实现类似MySQL中的group_concat函数的功能
1 2 3 4 5 6 7 8 9
SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起。 先对a列进行分组,对分组中的b以Xml形式输出,再使用stuff将开关多出的,删掉。 SELECT a, stuff((SELECT',' + b FROM#tb WHERE a = t.a FOR xml path('')),1,1,'' )AS b from# tb AS t GROUPBY a;