sqlserver和mysql的行转列通用存储过程
sqlserver中:
1 /*
2 1 * Description:对数据表进行行列转换
3 2 * Author:llf
4 3 * 调用说明:exec SP_RowChangeCol '学生成绩表','姓名','课程','分数','desc',0,0,'where 年级=''一年级'''
5 4 * 该存储过程调用的相关函数:dbo.Get_StrArrayLength(@groupCol,',');dbo.dbo.Get_StrArrayStrOfIndex(@groupCol,',',1)
6 */
7
8 Alter proc SP_RowChangeCol
9 @tableName varchar(100), --要转换的数据表名(学生成绩表)
10 @groupCol varchar(100), --分组列(学生姓名)
11 @changeCol varchar(100), --要转换的列(考试科目)
12 @countCol varchar(100), --统计列(成绩)
13 @orderby varchar(4), --转换列的排序规则(升序asc,降序desc)
14 @isColSum int, --是否统计列(1是;0否)
15 @isRowSum int, --是否统计行(1是;0否)
16 @strWhere varchar(max) --查询条件('where 年级=''一年级''')
17 as
18 begin
19 declare @sqlhead varchar(8000),@sqlend varchar(8000)
20 ,@sql1 varchar(8000),@sql2 varchar(8000),@sql3 varchar(8000),@sql4 varchar(8000)
21 ,@i int,@ic varchar(20),@sql varchar(1000)
22
23
24  
相关文档:
一般建模可能都会用到:powerdesigner
但是,在建表的时候,我一直没有找到:
DEFAULT CHARACTER SET
COLLATE
两个选项。因此,想了个方法,点击:工具栏-》database-》edit current DBMS
然后,选中:MYSQL50::Script\Objects\Table\Options
在options末尾添加:
ENGINE = %s : list = BDB | HEAP | ISAM | InnoDB ......
mssql,oracle中
test表:
1 5 abc
2 6 bcd
1 7 ade
2 8 adc
select a,b,c
from(
select a,b,c
,row_number()over(partition by a order by b desc) rn
from test
) &nb ......
通常我习惯将mysql数据库设置默认编码为utf-8,这就有一个问题,在windows客户端中中文显示乱码,因为windows默认编码为gb2312或ansi。多方查找终于解决,在windows客户端登入mysql
输入
set NAMES GB2312;
小命令,大作用啊。 ......
数据同步问题终于解决:
转帖:A服务器: host 192.168.1.101 port 3306 B服务器: host 192.168.1.102 port 3306 1,授权用户: A服务器 mysql>grant replication slave,file on *.* to 'repl9'@'192.168.1.102' identified by '1234569'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Qu ......