使用sqlserver作为数据库的应用系统,都避免不了有时候会产生死锁, 死锁出现以后,维护人员或者开发人员大多只会通过sp_who来查找死锁的进程,然后用sp_kill杀掉.利用sp_who_lock这个存储过程,可以很方便的知道哪个进程出现了死锁,出现死锁的问题在哪里. 创建sp_who_lock存储过程 CREATE procedure sp_who_lock as begin declare @spid int declare @bl
记录一下PG数据库创建并执行存储过程批量插入数据的SQL: create or replace function addId() returns boolean AS $BODY$ declare ii integer; begin ii := 1; FOR ii IN 1..1000000 LOOP INSERT INTO test01 (id) VALUES (ii); end LOOP; return true; end; $BODY$ LANGUAGE plpgsql; select *
一.PLSQL编程 1.1.使用PLSQL实现 Hello world! 1 -- Created on 2022/8/22 by ADMINISTRATOR 2 declare 3 -- 这是申明变量的地方,还包括游标 4 -- 相当于public class A() 5 i integer; 6 begin 7 -- Test statements here 8 -- 执行部分 9 -- public static void main(String args[]){} 10 11 --
假设场景是: 需要给一个脚本给客户更新, 这个对象可能存在或不存在 -- 更新存储过程 USE [数据库名] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- 这里判断对象(这里是存储过程)是否存在 IF EXISTS ( FROM sys.sysobjects AS o LEFT JOIN sys.schemas AS s ON [uid] = [SCHEMA_ID] WHERE xtype = 'p' --代表存储过程 AND o.
Sql Server数据库用SQL语句查询方法如下: select name from sysobjects where xtype='TR' --所有触发器 select name from sysobjects where xtype='P' --所有存储过程 select name from sysobjects where xtype='V' --所有视图 select name from sysobjects where xtype='U' --所有表 Oracle数据库用SQL语句查
use master --注意,此存储过程要建在master数据库中 go if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_compdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_compdb] GO create proc p_compdb @dbname sysname, --要压缩的数据库名 @b
顶级干货 用来比较两个数据库之间 表结构,存储过程及视图差异的存储过程,直接复制对应的存储过程,无需改动,直接在数据库中执行(传递要比较的数据库参数)即可 1.两个数据库之间存储过程及视图差异比较的存储过程 --测试脚本 --exec [p_compSPAndView] 'FAMS_PrePROD','FAMS_SIT' SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE?proc [dbo].[p_compSPAndView] @db
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否存在 ) drop table [表名] --判断存储过程是否存在 ) drop procedure [存储过程名] --判断函数是否存在 IF OBJECT_ID (N'函数名') IS NOT NULL DROP FUNCTION dnt_split --判断数据库是否开启了全文搜索 selec