![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 67
txlicenhe
这个作者很懒,什么都没留下…
展开
-
行列转换 交叉表
总结了一些有代表性的贴子,具体见http://expert.csdn.net/Expert/topic/2440/2440306.xml?temp=.69416451: 列转为行:eg1:Create table test (name char(10),km char(10),cj int)goinsert test values(张三,语文,80)insert test values原创 2004-01-27 21:06:00 · 1744 阅读 · 0 评论 -
灵活设置规则
/* 刚写了一个灵活设置默认值的,再来一个灵活设置规则的,其实基本上是一样的。 参考联机帮助: Create rule; sp_bindrule; sp_unbindrule 下面是测试: */ /*创建一个测试用表*/ create table test_tb(id int ,Country varchar(10)) --没有绑定Rule时全部insert成功 insert test_tb va原创 2005-07-28 15:21:00 · 1420 阅读 · 0 评论 -
SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)
SQLMail可以收发邮件,可能好多人都有xp_sendmail发送过邮件,这里介绍一种邮件服务器接收邮件后,根据邮件内容(只能是查询语句)把邮件中的查询语句执行后的结果以附件形式自动返回给发送邮件者。eg: 发送邮件,邮件内容为: select top 10 id,name from sysobjects则服务器自动回复邮件,内容为上述查询语句的执行结果,以附件形式发送。1:当然是先配置原创 2004-05-19 13:38:00 · 1966 阅读 · 1 评论 -
text字段
支持text字段处理的仅有:下面的函数和语句可以与 ntext、text 或 image 数据一起使用。函数 语句 DATALENGTH READTEXT PATINDEX SET TEXTSIZE SUBSTRING UPDATETEXT TEXTPTR WRITETEXT TEXTVALID 1:替换--创建数据测试环境create原创 2004-01-27 21:06:00 · 1489 阅读 · 0 评论 -
动态SQL语句
1:普通SQL语句可以用Exec执行eg: Select * from tableName Exec(select * from tableName) sp_executesql Nselect * from tableName -- 请注意字符串前一定要加N2:字段名,表名,数据库名之类作为变量时,必须用动态SQLeg: declare @fname原创 2003-12-15 01:26:00 · 1230 阅读 · 0 评论 -
在视图中用order by
大家知道1:如下查询语句没问题 select * from sysobjects order by name2:如果把该查询语句建成视图 create view v_test as select * from sysobjects order by name 会提示出错:The ORDER BY clause is invalid in views, inline functions原创 2004-03-21 17:30:00 · 4532 阅读 · 1 评论 -
通用工资计税方案
--1:计税方案表create table skm_mstr(序号 int,工资比例 int,始 int, 止 int,税率 int,速算值 int )/*以下数据为深圳龙岗台资企业计税方式:(比如工资为4000的计税方式为:4000*87/100 = 3840, 在2100-3599之间,适用于第3条则计算公式为 (4000*87/100-2100)*10/100 + 25 = 163 )*原创 2004-01-06 10:07:00 · 1531 阅读 · 0 评论 -
ERP系统中与BOM有关的常用方法
一: BOM展开(按任一父结点展开到最底层)以下写一个简单的,视具体要求稍做修改即可。create table 表(levelid int,levelname char(2),parent int)insert 表 select 1, AA , 0union all select 2 , BB , 1union all select原创 2003-12-31 10:14:00 · 3119 阅读 · 2 评论 -
SQL中与IP相关的常见问题
1:得到客户端的IP地址/************* IP **************/declare @ip varchar(20),@hst varchar(20),@sql varchar(100)declare @str varchar(100)set @str=PING +Host_Name()create table #tmp(aa varchar(200))insert #t原创 2003-12-31 10:14:00 · 1369 阅读 · 0 评论 -
一个简单的考勤系统
不考虑加班,请假,外出之类。原始记录表:1:工作日历表calendar2:排班表worktime3:人事资料表employee4:异常类别表(迟到,早退,无刷卡...)abnormity5:考勤记录表timecard处理结果表:(可以用表或视图的形式存放)1: 打卡异常 10001 20031102 上午上班 迟到2:考勤明细表1: 10001 200原创 2003-12-15 01:28:00 · 3025 阅读 · 1 评论 -
SQL语句导入导出大全
/******* 导出到excelEXEC master..xp_cmdshell bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""/*********** 导入ExcelSELECT * FROM OpenDataSource( Microsoft.Jet.OLEDB.原创 2003-12-15 01:27:00 · 3009 阅读 · 0 评论 -
业务单号自动增长的处理办法
问题:在实际业务处理中有些单号需要自动增长,但又不能用自增列代替 eg: P031106001 -- 第一位P表示采购单,031106表示日期,后三位是流水号。 /* 1:创建测试用的表结构 */create table tablename(pono char(10),b int)go/* 2:创建一个得到当前日期的视图,为下面的自字义函数作准备 */create view v原创 2003-12-15 01:27:00 · 1527 阅读 · 3 评论 -
外键开关
最近在做假资料时经常需要删除一些表中的内容。但是:设置外键后,想删除表中的数据无法删除,这时需删除外键后重建,或找到外键后用 alter table 表名 nocheck 外键名 来暂时屏蔽外键,然后删除。干脆写个存储过程,设置外键的开关。exec fk_switch 表名,0 屏蔽外键exec fk_switch 表名,1 重启外键/* Usage:exec fk_switch原创 2004-04-22 14:34:00 · 1890 阅读 · 1 评论 -
对所有表进行类似处理
eg1:大家知道,如果将一个表所有者改为dbo,只需sp_changeobjectowner 表名,dbo即可但要将所有的表的所有者都改为dbo,可以用循环处理,此处略其实用SQL的系统存储过程sp_MSForEachTable可以轻松搞定只需exec sp_MSForEachTable sp_changeobjectowner ?, dbo当然原创 2004-02-26 14:36:00 · 1464 阅读 · 1 评论 -
SQL中两台服务器间使用连接服务器
1:执行另一服务器上的存储过程exec OPENDATASOURCE( SQLOLEDB, Data Source=远程ip;User ID=sa;Password=密码 ).库名.dbo.存储过程名2:将资料插入另一服务器上的表中select * into 本地库名..表名 from OPENDATASOURCE(原创 2004-01-08 13:58:00 · 1669 阅读 · 0 评论 -
找SQL表的主键
1:利用SQL自带的存储过程EXEC sp_pkeys @table_name=表名2:利用系统表INFORMATION_SCHEMA.KEY_COLUMN_USAGE SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME=表名3: 以下这个查询表结构的原创 2004-03-20 15:04:00 · 1998 阅读 · 0 评论 -
灵活设置默认值
/*在建表时一般会设置默认值,但如果默认值随着条件的变化有可能更改,比如录入员工资料时默认工资为500,下一年度涨工资后默认工资为600。或者有很多表中的很多列有相同的默认值时,可以考虑用一个变量来设置,就要自定义数据类型一样。SQL提供有这方面的功能,就是Create Default。参考联机帮助: Create Default; sp_bindefault; sp_unbindefault原创 2005-07-28 10:57:00 · 1283 阅读 · 0 评论