Foxtable(狐表)用户栏目专家坐堂 → 有关SQL有存储过程的使用


  共有22349人关注过本帖树形打印复制链接

主题:有关SQL有存储过程的使用

帅哥哟,离线,有人找我吗?
baoxyang
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
有关SQL有存储过程的使用  发帖心情 Post By:2009/4/10 16:21:00 [只看该作者]

如何执行一个存储过程?SQL编程语句是什么?请知道的帮忙。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/10 18:13:00 [只看该作者]

以下是引用baoxyang在2009-4-10 16:21:00的发言:
如何执行一个存储过程?SQL编程语句是什么?请知道的帮忙。

    执行一个存储过程很简单,与执行一个SQL语句基本上没什么区别.
    SQL 的存储过程,也就是通过一定的结构把SQL语句组合起来.但关于很详细的细节内容,不是一两句话可以讲清楚的,建议买一本这方面的专业书看一看.


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/10 22:10:00 [只看该作者]

我倒想问问,如果SQL数据库表结构已经建立好,如何让客户自行安装此数据库?

比如把此数据库封装到发布的项目中.......点击安装文件自行安装...图片点击可在新窗口打开查看如何实现?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/10 22:49:00 [只看该作者]

sql很大,我想还是让客户自己安装比较好,再说你说是封装的也是盗版的哟,呵呵

 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/11 8:48:00 [只看该作者]

图片点击可在新窗口打开查看我没表达清楚.....

我意思是这四个文件.....如何让它自动放到已安装好的SQL里....

图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-4-11 8:48:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/11 8:52:00 [只看该作者]

以下是引用yangming在2009-4-10 22:49:00的发言:
sql很大,我想还是让客户自己安装比较好,再说你说是封装的也是盗版的哟,呵呵

    我的理解是,菜老兄的意思应该是自动生成这个项目使用的数据库文件(MDF文件),而不是SQl Server数据库管理系统。数据库与数据库管理系统是完全不同的两个概念。
    我的想法是,如果要新建项目数据库(例如财务软件中新建一个账套),应该把建立项目数据库(包括建立这个数据库的所有表、存储过程)的所有语句编写成一个SQl server的脚本文件(即由SQL语句组成的文件),在需要建立项目数据库的时候,让SQL server调用并自动执行这个脚本文件,即建立了项目所需要的数据库。
    我还没有试过,请菜老兄调试一下看是否可以,如果成功了,也一块分享一下,我也需要同样的功能!

[此贴子已经被作者于2009-4-11 9:01:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/11 8:57:00 [只看该作者]

以下是引用菜鸟foxtable在2009-4-11 8:48:00的发言:
图片点击可在新窗口打开查看我没表达清楚.....

我意思是这四个文件.....如何让它自动放到已安装好的SQL里....

图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-4-11 8:48:01编辑过]

如果项目需要的数据库文件已经建好,即mdf文件已经建好,不需要新建数据库文件,我认为应该用SQl server的附加数据库功能(用CREATE DATABASE语句),或者用SQl Server的企业管理器的附加数据库功能。

[此贴子已经被作者于2009-4-11 9:04:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/11 9:05:00 [只看该作者]

     如果项目需要的数据库文件已经建好,即mdf文件已经建好(不需要再新建数据库文件),我认为应该用SQl server的附加数据库功能,可以用CREATE DATABASE语句,或者用SQl Server的企业管理器的附加数据库功能。


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/11 10:40:00 [只看该作者]

生成脚本文件容易,问题是如何调用SQL执行这些脚本?在狐表上怎么实现调用SQL执行?希望老爹能做个示例.....

脚本代码好长...

****** Object:  Database yahis    Script Date: 2009-4-11 9:03:58 ******/
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'yahis')
 DROP DATABASE [yahis]
GO

CREATE DATABASE [yahis]  ON (NAME = N'yahis_Data', FILENAME = N'd:\Program Files\Microsoft SQL Server\MSSQL\data\yahis.mdf' , SIZE = 4, FILEGROWTH = 10%) LOG ON (NAME = N'yahis_Log', FILENAME = N'd:\Program Files\Microsoft SQL Server\MSSQL\data\yahis_log.ldf' , SIZE = 1, FILEGROWTH = 10%)
 COLLATE Chinese_PRC_CI_AS
GO

exec sp_dboption N'yahis', N'autoclose', N'true'
GO

exec sp_dboption N'yahis', N'bulkcopy', N'false'
GO

exec sp_dboption N'yahis', N'trunc. log', N'true'
GO

exec sp_dboption N'yahis', N'torn page detection', N'true'
GO

exec sp_dboption N'yahis', N'read only', N'false'
GO

exec sp_dboption N'yahis', N'dbo use', N'false'
GO

exec sp_dboption N'yahis', N'single', N'false'
GO

exec sp_dboption N'yahis', N'autoshrink', N'true'
GO

exec sp_dboption N'yahis', N'ANSI null default', N'false'
GO

exec sp_dboption N'yahis', N'recursive triggers', N'false'
GO

exec sp_dboption N'yahis', N'ANSI nulls', N'false'
GO

exec sp_dboption N'yahis', N'concat null yields null', N'false'
GO

exec sp_dboption N'yahis', N'cursor close on commit', N'false'
GO

exec sp_dboption N'yahis', N'default to local cursor', N'false'
GO

exec sp_dboption N'yahis', N'quoted identifier', N'false'
GO

exec sp_dboption N'yahis', N'ANSI warnings', N'false'
GO

exec sp_dboption N'yahis', N'auto create statistics', N'true'
GO

exec sp_dboption N'yahis', N'auto update statistics', N'true'
GO

if( ( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) ) or ( (@@microsoftversion / power(2, 24) = 7) and (@@microsoftversion & 0xffff >= 1082) ) )
 exec sp_dboption N'yahis', N'db chaining', N'false'
GO

use [yahis]
GO

/****** Object:  Table [dbo].[H_CW]    Script Date: 2009-4-11 9:03:59 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[H_CW]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[H_CW]
GO

/****** Object:  Table [dbo].[H_DWXX]    Script Date: 2009-4-11 9:03:59 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[H_DWXX]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[H_DWXX]
GO

/****** Object:  Table [dbo].[H_FYLB]    Script Date: 2009-4-11 9:03:59 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[H_FYLB]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[H_FYLB]
GO

/****** Object:  Table [dbo].[H_HZ]    Script Date: 2009-4-11 9:03:59 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[H_HZ]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[H_HZ]
GO

/****** Object:  Table [dbo].[H_ICD]    Script Date: 2009-4-11 9:03:59 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[H_ICD]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[H_ICD]
GO

后面还有很多很多.......

[此贴子已经被作者于2009-4-11 10:41:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/11 12:31:00 [只看该作者]

以下是引用菜鸟foxtable在2009-4-11 10:40:00的发言:
生成脚本文件容易,问题是如何调用SQL执行这些脚本?在狐表上怎么实现调用SQL执行?希望老爹能做个示例.....

 

[此贴子已经被作者于2009-4-11 10:41:31编辑过]

   执行脚本文件用Osql来实现(Osql是DOS命令)。如果有已经建立好的数据库文件,附加数据库可直接用Sql server的CREATE DATABASE语句(不用再调用SQL脚本文件建立数据库)。

[此贴子已经被作者于2009-4-11 12:57:10编辑过]

 回到顶部