[原创] SiteServer 3.5 批量导入文章的SQL处理脚本
2005时做过一个小网站,当时是用ASP+Access做的,功能很简单,但里面的文章不少
现在就像把它转移到SS上来,重点就是如何导入文章
本来SS本身提供了批量导入功能,但对于在WEB上一次性导入一万多篇的情况,心理还是不踏实的
另外SS的导入功能没有字段对照,不清楚具体的模板是什么格式的,很怕出些什么问题
还是直接采用SQL的方式靠谱一些吧
首先,获取要导入站点的基础信息:
--查看站点列表
select * from siteserver_PublishmentSystem --查看指定站点的栏目列表
select * from siteserver_Node
where publishmentsystemId=<站点ID> --查看指定站点、指定栏目的文章列表
select * from siteserver_Content
where publishmentsystemId=<站点ID> and NodeId=<栏目ID>
然后,编写数据导入语句:
declare @title varchar(500)
declare @body varchar(8000)
declare @date datetime
declare @click int declare cpos cursor for select contentTitle, contentBody, createDate, clickNum from DB_old.dbo.m04 order by createDate
open cpos
fetch next from cpos into @title,@body,@date,@click
while @@FETCH_STATUS=0
begin insert into
siteserver_content(
NodeId, PublishmentSystemID, AddUserName, LastEditUserName, LastEditDate
, Taxis, ContentGroupNameCollection, Tags, SourceID, ReferenceID
, IsChecked, CheckedLevel, Comments, Hits, HitsByDay, HitsByWeek, HitsByMonth
, LastHitsDate, SettingsXML
, Title, SubTitle, ImageUrl, LinkUrl, FileUrl
, [Content], Summary, Author, Source, IsRecommend, IsHot, IsColor, ConsumePoint
, IsTop, AddDate
)
values(
<栏目ID>, <站点ID>, 'netwild', 'netwild', @date
, 1, '', '', 0, 0
, 'True', 1, 0, @click, 0, 0, 0
, @date, 'titleformatstring=False_False_False_&consumepoint='
, @title, '', '', '', ''
, @body, '', '', '', 'False', 'False', 'False', 0
, 'False', @date
) fetch next from cpos into @title,@body,@date,@click
end
close cpos
deallocate cpos
还需要更新一下栏目的文章数量统计:
--更新栏目统计
update node
set node.contentNum=(select count(*) from siteserver_Content as c where c.PublishmentSystemID=node.PublishmentSystemID and c.NodeId=node.NodeId)
from siteserver_Node as node
where node.publishmentsystemId=<站点ID>
最后,在SS的管理控制台中,清除缓存就OK啦!
[原创] SiteServer 3.5 批量导入文章的SQL处理脚本的更多相关文章
- 使用mysql的source批量导入多个sql文件
需求: 有一个文件,文件里面包含100多个sql文件,想要把这些sql文件都导入到mysql中 做法: 使用 mysql 的 source 可以将文件导入到 mysql 中,但是一次只能导入一个 sq ...
- Mysql批量导入多个sql文件
DB_edusuntk文件夹下有2000多个个sql备份文件,如何批量导入?首先新建一个main.sql,然后在main.sql文件里面这么写: source C:/sql/1.sql; source ...
- 批量导入oracle 的sql脚本
以下为脚本样例:execute.sql,在PL/sql的command窗口或sqlplus中执行:@目录/execute.sql (以下“目录”需要替换为实际sql所在目录) --执行前需要在目录下新 ...
- 那些年我们爬过的山 - mybatis批量导入
[原创作品,转载请注明出处] 写这篇文章之前想着给这篇博客起一个文艺一点的标题,思来想去,想到了那些年我们爬过的山,或者我们一起趟过的河?代码不规范,同事两行泪,这是多么痛的领悟啊! 背景 本组一名实 ...
- 【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)
今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...
- Shp数据批量导入Postgresql工具的原理和设计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 在制作整体的开源工具箱产品中,数据入库是一个重要的环节.虽然 ...
- [Django]网页中利用ajax实现批量导入数据功能
url.py代码: url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork') view.py代码: fr ...
- [diango]批量导入不重复数据
去年研究导入数据的时候写了一个批量导入数据的脚本,但有个问题,如果导入这批数据在数据库中已经存在,那么我们导入的数据不就重复了么,本文就讨论如何解决这个问题? 程序如下: #coding:utf-8 ...
- 订餐系统之Excel批量导入
批量导入现在基本已经成为各类系统的标配了,当前,我们订餐系统也不例外,什么商家呀.商品呀.优惠码之类的,都少不了.毕竟嘛,对非开发人员来说,看到Excel肯定比看到很多管理系统还是要亲切很多的.这里, ...
随机推荐
- Java - 避免使用finalizer
Finalizers are unpredictable ,often dangerous ,and generally unnecessary. 在Java中,GC会自动回收不可达对象相关的空间,而 ...
- 流畅的python和cookbook学习笔记(七)
1.读写压缩数据文件 使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制. # 读取压缩文件 import gzip with gzip.open('somefi ...
- MyBaits_查询缓存02_Ehcache二级缓存
一.Ehcache二级缓存的开启 导入jar(https://github.com/mybatis/ehcache-cache/releases) <cache type="org.m ...
- Effective C++ .05 一些不自动生成copy assigment操作的情况
主要讲了 1. 一般情况下编译器会为类创建默认的构造函数,拷贝构造函数和copy assignment函数 2. 执行默认的拷贝构造/copy assignment函数时,如果成员有自己的拷贝构造/c ...
- nodejs繁琐地自建路由
一.繁琐的自建路由 app.js var server = require('./server'); server.startServer(); server.js var http = requir ...
- 学习stylus笔记
最近在研究v-cli3.0,发现了一种新的预处理器,于是花了一些时间去学习下. 学习网站 基本上这个网站上,讲的已经很详情.我下面把我在学习之中的笔记和觉得自己用的多方法贴出来. 1.缩排 使用缩排和 ...
- 小白学flask之路由,反向路由,路由参数
# -*- coding: utf-8 -*- from flask import Flask, request, url_for app = Flask(__name__) @app.route(& ...
- cocos-creator 脚本逻辑-1
1.节点 编辑组件的脚本文件时.可以通过以下语句获得节点 this 就是当前组件 this.node 拿到组件依附的节点 This.node.parent 拿到组件依附的节点 的父节点 This.no ...
- centos jdk8 install
0. 装了好多遍jdk 以前一直是 vi /etc/profile文件 追加 环境变量 ,仔细一看 profile文件提示 尽量不要修改!!! so... 1. 下载jdk8.tar.gz 2. 卸载 ...
- Grunt实例
module.exports = function(grunt) { // 项目配置 grunt.initConfig({ pkg: grunt.file.readJSON('package.json ...